MySQL创建模式,表

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~2^8-1 1
SMALLINT -32768~32767或0~2^1^6-1 2
MEDIUMINT -2^2^3~2^2^3-1或0~2^2^4-1 3
INT -2^3^1~2^3^1-1或0~2^3^2-1 4
BIGINT -2^6^3~2^6^3-1或0~2^6^4-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(2^8-1) TINYTEXT TEXT(2^8-1)
BLOB BLOB(2^1^6-1) TEXT TEXT(2^1^6-1)
MEDIUMBLOB BLOB(2^2^4-1) MEDIUMTEXT TEXT(2^2^4-1)
LONGBLOB BLOB(2^3^2-1) LONGTEXT TEXT(2^3^2-1)
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 名;

你可能感兴趣的:(mysql)