1.基本数据类型
整数类型:bit,bool,tinyint,smallint,mediumint,int,bigint
浮点数类型:float,double,decimal
字符串类型:char,varchar,tinytext、text,mediumtext,longtext,tinyblob,blob,mediumblob、long
日期类型:date,datetime,timestamp,time,year
2.约束
约束类型: | 主键 | 外键 | 唯一 | 非空 | 自增 | 默认值 | 检查 |
---|---|---|---|---|---|---|---|
关键字: | primary key | foreign key |
unique |
not null |
auto_increment |
default |
check |
主键约束 primary key
主键约束不能为空,不能重复,每个表只能有一个自增长字段
#主键约束+自增长 CREATE TABLE 表名称 ( 字段名称 基本数据类型 AUTO_INCREMENT, PRIMARY KEY(字段名称) ) #添加 ALTER TABLE 表名称 ADD PRIMARY KEY (字段名称1,字段名称2); #删除 ALTER TABLE 表名称 DROP PRIMARY KEY 字段名称;
外键 foreign key
外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系
比如有A,B两个表,B的外键字段u_id 连接A的u_id字段,如果此时向B的u_id添加数据 但是A的u_id没有这个数据,此时
就会报错,但是向A的u_id添加数据不受到限制
# 外键 CREATE TABLE 表名称1 ( 字段名称 基本数据类型, FOREIGN KEY(字段名称) REFERENCES 表名称2(字段名称) ) #添加 ALTER TABLE 表名称1 ADD FOREIGN KEY(字段名称1,字段名称2) REFERENCES 表名称2(字段名称1,字段名称2); #删除 ALTER TABLE 表名称 DROP FOREIGN KEY 字段名称;
唯一 unique
数据不能重复,可以为多个null值
CREATE TABLE 表名称 ( 字段名称 基本数据类型, UNIQUE(字段名称) ) #删除 ALTER TABLE 表名称 DROP INDEX 字段名称; #添加 ALTER TABLE 表名称 ADD UNIQUE (字段名称1, 字段名称2);
非空 not null与默认值 default,可以为null
非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上
CREATE TABLE 表名称( 字段名称 基本数据类型 NOT NULL, 字段名称 基本数据类型 NOT NULL DEFAULT 默认值, 字段名称 基本数据类型 NULL ) #添加非空 ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 NOT NULL #取消非空 ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 NULL #取消非空添加默认值 ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 DEFAULT 默认值 NULL
检查约束 check
检查某个字段是否符合要求,一般是值的范围
CREATE TABLE 表名称( 字段名称 VARCHAR(1) CHECK('男' or '女'), 字段名称 INT(3) CHECK(age < 130 and age > 0) );
修改表
#添加字段(add) alter table 表名 add 列名 列的类型 列的约束; #修改列(modify) alter table 表名 modify 列名 列的类型 列的约束; #修改列名(change) alter table 表名 change 列名 新的列名 列的类型 列的约束; #删除列(drop) alter table 表名 drop 列名
删除表与清空表:
#删除表 drop table 表名; #清空表 truncate table 表名
标签:数据类型,Mysq,约束,名称,清空,TABLE,ALTER,字段名 From: https://www.cnblogs.com/ErenYeager/p/17017132.html