网站建设及服务招标公告,长沙网站seo推广公司,代做毕业设计网站现成,深圳制作网页公司参考视频地址#xff1a;一小时MySQL教程 bilibili
SQL 基础
数据库分为关系型数据库和非关系型数据库
常见的关系型数据库#xff1a;
MySQL、PostgreSQL、Oracle、SQL Server等。
非关系型数据库#xff1a;
MongoDB#xff08;文档型数据库#xff09;、Redis一小时MySQL教程 bilibili
SQL 基础
数据库分为关系型数据库和非关系型数据库
常见的关系型数据库
MySQL、PostgreSQL、Oracle、SQL Server等。
非关系型数据库
MongoDB文档型数据库、Redis键值型数据库、Cassandra列族数据库、Neo4j图形数据库等。
在关系型数据库中SQLStructured Query Language 语言 用于操作表中的数据SQL 不区分大小写但是一般来说我们将关键字大写表名、列名和其他名称小写。SQL 语言可以分为以下几类
DDL (Data Definition Language) 数据定义语言: CREATE、DROP、ALTER、TRUNCATE等DML (Data Manipulation Language) 数据操作语言: INSERT、UPDATE、DELETE、CALL等DQL (Data Query Language) 数据查询语言: SELECT等DCL (Data Control Language) 数据控制语言: GRANT、REVOKE等 数据库database保存有组织的数据的容器通常是一个文件或一组文件表table某种特定类型数据的结构化清单模式schema关于数据库和表的布局及特性的信息列column表中的一个字段。所有表都是有一个或多个列组成的数据类型datatype每个表列都有相应的数据类型行row表中的一个记录主键primary key一列或一组列其值能够唯一区分表中的每个行 SQL 数据类型
一、整数类型
INT用于存储整数数据4个字节。SMALLINT存储范围较小的整数2个字节。TINYINT存储范围更小的整数BIGINT用于存储非常大的整数8个字节。
二、浮点类型
FLOAT用于存储单精度浮点数。REAL在某些数据库系统中REAL是FLOAT的同义词或用于表示另一种浮点类型。DOUBLE用于存储双精度浮点数精度高于FLOAT。
三、字符数据类型
CHAR(n)固定长度字符数据n表示字符数。VARCHAR(n)可变长度字符数据n表示最大字符数节省存储空间。TEXT用于存储大量文本数据长度通常超过VARCHAR的限制。
四、Unicode数据类型
NCHAR(n)固定长度Unicode字符数据n表示字符数。NVARCHAR(n)可变长度Unicode字符数据n表示最大字符数。NTEXT用于存储大量Unicode文本数据。
五、日期和时间数据类型
DATE仅存储日期。TIME仅存储时间。DATETIME存储日期和时间。TIMESTAMP存储时间戳通常用于记录时间变更或事件。
六、数值类型
NUMERIC(p, s) 或 DECIMAL(p, s)用于精确存储小数数据p表示总位数s表示小数点后位数。
七、货币数据类型
MONEY用于存储货币数据通常要求8个存储字节。SMALLMONEY用于存储较小范围的货币数据通常要求4个存储字节。
八、二进制数据类型
BINARY(n)固定长度二进制数据n表示字节数。VARBINARY(n)可变长度二进制数据n表示最大字节数。BLOBBinary Large Object用于存储大量二进制数据如图片、音频、视频文件等。
九、其他数据类型
BOOL 或 BOOLEAN用于存储逻辑真或假值通常为TRUE或FALSE1或0。ENUM枚举类型用于存储一组预定义的值。ARRAY、SET、JSON等集合类型用于存储一组数据。
需要注意的是不同的数据库管理系统如MySQL、PostgreSQL、SQL Server等可能支持的数据类型及其特性略有差异。因此在选择数据类型时应参考具体数据库系统的文档和指南。
创建数据库
显示当前所有数据库SHOW DATABASES;
创建数据库CREATE DATABASE [name];
删除数据库DROP DATABASE [name];
使用数据库USE DATABASE [name];
创建表
显示数据库内的表SHOW TABLES;
显示列SHOW COLUMNS FROM [tablename];
创建表
CREATE TABLE player(id INT,name VARCHAR(10),level INT,exp INT,gold DECIMAL(10,2)
)
显示表的信息DESC player 或者 DESCRIBE player 修改表结构使用 ALTER 语句
修改现有字段 ALTER TABLE player MODIFY COLUMN name VARCHAR(8);ALTER TABLE player MODIFY COLUMN level INT DEFAULT 1; 增加字段ALTER TABLE player ADD COLUMN last_login DATETIME; 删除字段ALTER TABLE player DROP COLUMN last_login;
删除表DROP TABLE [table_name];
重命名表RENAME TABLE [last_name] TO [current_name];
增删改查
查询关键字SELECT
查询语句一般格式SELECT [column_name] FROM [table_name] LIMIT [start_line_num, total_line_nums];
通配符*可以用于检索所有列SELECT * FROM [table_name]
ORDER BY 子句用于对检索出的数据进行排序DESC 用于降序排序ASC 用于升序排序
SELECT 子句顺序
SELECTFROMWHEREGROUP BYHAVINGORDERED BYLIMIT
增加关键字INSERT
修改关键字UPDATE
删除关键字DELETE
数据导入导出
数据导出mysqldump
数据导入
过滤数据
WHERE 关键字SELECT [column_name1] FROM [table_name] WHERE [column_name2] IS NULL AND [column_name3] 3;
分组数据
GROUP BY 子句和 HAVING 子句
子查询
表关联
索引
视图