1.模式
创建模式
CREATE SCHEMA ch3;
显示模式
SHOW SCHEMAS;
删除模式,没有级联删除或者限制删除
DROP SCHEMA ch3;
2.基本表
创建
CREATE TABLE Student(
Sno CHAR(9) PRIMARY KEY, /*主键,不可重复,不能为空=UNIQUE+NOT NULL*/
Sname CHAR(20) UNIQUE, /* 不可重复
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
建表约束
名
含义
名
含义
PRIMARY KEY
主键,不能重复,不能为空
PRIMARY KEY(KEY1, KEY2)
联合主键,要求同主键
AUTO_INCREMENT
自增约束
UNIQUE
唯一性约束
NOT NULL
非空约束
DEFAULT
默认约束,初始值
FOREIGN KEY(key1) REFERENCES 父表(key)
外键约束,子表里列的信息必须是对应父表的子集
ON UPDATE CASCADE
ON DELETE CASCADE
外键级联约束(我自己编的,不知道有没有,放在外键约束后边)
数字类型
类型名
取值范围(有符号或无符号)
占用存储(字节)
TINYINT
-128~127或0~
-1
1
SMALLINT
-32768~32767或0~
-1
2
MEDIUMINT
~
-1或0~
-1
3
INT
~
-1或0~
-1
4
BIGINT
~
-1或0~
-1
8
FLOAT
4
DOUBLE
8
DECIMAL(M)
M+2(VER>3.23)
日期类型
类型名
含义
类型名
含义
DATE
日期,‘YYYY-MM-DD’
TIME
时间,‘HH:MM:SS’
DATETIME
日期加时间,‘YY-MM-DD HH:MM:SS’
TIMESTAMP
时间戳,以秒为单位
字符串类型
类型名
含义
类型名
含义
CHAR
定长字符串
VARCHAR
变长字符串
TINYBLOB
BLOB(
)
TINYTEXT
TEXT(
)
BLOB
BLOB(
)
TEXT
TEXT(
)
MEDIUMBLOB
BLOB(
)
MEDIUMTEXT
TEXT(
)
LONGBLOB
BLOB(
)
LONGTEXT
TEXT(
)
ENUM('VALUE1', 'VALUE2', ....)
枚举:列只能复制为某个枚举成员或NULL
SET('VALUE1', 'VALUE2', ...)
集合:列可以赋值为多个集合成员或NULL
BLOB是一个能保存可变数量的数据的二进制大对象。
显示模式下所有的表名
SHOW TABLES;
显示表信息,包含不同列的不同信息,类型等
DESC Student;
删除表
DROP TABLE Student;
级联删除:当被删除的表为某一张表的父表时,直接删除无法删除,所以需要先删除子表才能删除父表
类似的还有级联更新
修改基本表
新增一列
ALTER TABLE Student ADD [COLUMN] 名 类型 约束条件;
修改某一列
ALTER TABLE Student MODIFY COLUMN 名 新的类型 新的约束条件;
ALTER TABLE Student DROP KEY 名;删除唯一性要求
ALTER TABLE Student ADD UNIQUE(名);添加唯一性要求
删除某一列
ALTER TABLE Student DROP COLUMN 名;