零. 命令表
这篇文章比较长,出现的命令比较多。在这里先将本文出现的命令总结一下
类 | 命令 | 解释 |
---|---|---|
注释 | # 这是一段注释 ,/*这也是一段注释*/ |
注释的方法 |
逻辑库 | CREATE DATABASE demo; |
创建逻辑库 |
SHOW DATABASES; |
show所有的逻辑库 | |
DROP DATABASES demo; |
删除逻辑库 | |
数据表 | CREATE TABLE 数据表( 列表1 数据类型 [约束] [COMMENT 注释],... )[COMMENT 注释] |
创建数据表 |
INSERT INTO 数据表 VALUES(数据) ; |
插入数据 | |
SHOW tables; |
查看当前逻辑库内的数据表,返回数据表名 | |
DESC 数据表; |
查看数据表的具体情况 | |
SHOW CREATE TABLE 数据表; |
查询建表时的语句 | |
DROP TABLE 数据表; |
删除数据表student | |
修改表结构 都以 ALTER TABLE 表名称 换行开始 |
ADD 列表1 数据类型 [约束] [COMMENT 注释]; |
添加字段(相当于添加一列) |
MODIFY 列表1 数据类型 [约束] [COMMENT 注释]; |
修改字段类型和约束 | |
CHANGE 列1 新列名1 数据类型 [约束] [COMMENT 注释]; |
修改字段名称 | |
DROP 列1; |
删除字段 | |
字段约束 | PRIMARY KEY |
主键约束:字段值唯一,且不能为NULL |
NOT NULL |
非空约束:字段值不能为NULL | |
UNIQUE |
唯一约束:字段值唯一,且可以为NULL | |
NOT NULL UNIQUE |
不是主键约束且要求非空唯一 | |
FOREIGN KEY |
外键约束:保持关联数据的逻辑性(不推荐使用,防止外键闭环) | |
索引 | INDEX [索引名称](字段), |
在创建数据表时,可以用这个添加索引 |
CREATE INDEX 索引名 ON 表名 (字段); |
添加索引 | |
ALTER TABLE 表名称 ADD INDEX [索引名] (字段); |
添加索引 | |
SHOW INDEX FROM 表名; |
看某张数据表的所有索引 | |
DROP INDEX 索引名 ON 表名; |
删除索引以及对应的二叉树 |
- 数字类型
类型 | 大小(byte) | 说明 |
---|---|---|
TINYINT | 1 | 小整数 |
SMALLINT | 2 | 普通整数 |
MEDIUMINT | 3 | 普通整数 |
INT | 4 | 较大整数 |
BIGINT | 8 | 大整数 |
FLOAT | 4 | 单精度浮点数 |
DOUBLE | 8 | 双精度浮点数 |
DECIMAL | ----- | 精确小数类型,DECIMAL(10, 2) 一共10个字符,2代表保留到小数点后两位,可以自己定 |
CHAR | 1-255 | 固定长度字符串 |
VARCHAR | 1-65535 | 不固定长度字符串 |
TEXT | 1-65535 | 不确定长度字符串 |
MEDIUMTEXT | 1-1千6百万 | 不确定长度字符串 |
LONGTEXT | 1-42亿 | 不确定长度字符串 |
DATE | 3 | 只有日期,没有时间 '2022-05-10' |
TIME | 3 | 时间 |
YEAR | 1 | 年份 |
DATETIME | 8 | 包括日期和时间 |
TIMESTAMP | 4 | 时间戳,包括日期和时间 |
一. SQL语句
- SQL是用于访问和处理数据的标准计算机语言
- SQL语言分类:
- DML:添加、修改、删除、查询
- DCL:用户、权限、事物
- DDL:逻辑库、数据表、视图、索引
- SQL语句注意事项
- 不区分大小写,但字符串区分大小写
SELECT "HelloWorld";
- SQL语句必须以分号结尾
- SQL语句中的空白和换行没有限制,但是不能破坏语法
- 不区分大小写,但字符串区分大小写
- SQL语言注释
# 这是一段注释
,/*这也是一段注释*/
二. 管理逻辑库
2.1 创建逻辑库
- 用的是DDL的语句
CREATE DATABASE demo; #名称用英文或英文加数字
SHOW DATABASES; #show所有逻辑库
DROP DATABASES demo; #删除逻辑库
2.2 数据表
2.2.1 创建数据表和插入数据
CREATE TABLE 数据表(
列表1 数据类型 [约束] [COMMENT 注释],
列表2 数据类型 [约束] [COMMENT 注释],
...
)[COMMENT = 注释];
举个例子,在test这个逻辑库内创建数据表student
USE test;
CREATE TABLE student(
id INT UNSIGNED PRIMARY KEY, #学号, primary key代表不能保存重复数值
name VARCHAR(20) NOT NULL, #VARCHAR(20)代表字符串最大长度为20,not null代表非空
sex CHAR(1) NOT NULL, #char(1)固定一个字符(上面的varchar不固定)
birthday DATE NOT