MySQL完整性约束条件

作用:限制如何给字段赋值

约束条件:

Null 允许为空,默认设置,not null不允许为空;注:" ""null"不为空

key 索引类型

Default 设置默认值,缺省为null

Extra 额外设置

索引:

索引优缺点:

优点:通过创建唯一索引,保证数据唯一性;加快数据的检索速度

缺点:当对数据进行增,删,改,索引要动态维护,减慢写的速度;索引要占用物理空间

查看是否有索引字段:DESC 表名; #查看"key"

查看索引详细:SHOW INDEX FROM 表名; #column_name:字段 key_name:索引名,索引名默认和字段同名

索引的类型:

INDEX:普通索引

建表时设置:

CREATE TABLE 表名(

……

INDEX(字段名1),INDEX(字段名2),INDEX(字段名n) #设置完字段后设置

);

已有表设置:CREATE INDEX 索引名 on 表名(字段名);

删除索引:DROP INDEX 索引名 on 表名;

   

UNIQUE:唯一索引

建表时设置:

CREATE TABLE 表名(

……

UNIQUE(字段名1)UNIQUE(字段名2),UNIQUE(字段名n)

;

已有表设置: CREATE UNIQUE INDEX 索引名 ON 表名

删除索引:DROP INDEX 索引名 ON 表名;

注:若字段为not null并且是unique标志会变为PRI

   

FULLTEXT

PRIMARY KEY:主键

建表时设置:

CREATE TAVLE 表名(

……

PRIMARY KEY(字段名) #也可以直接写在字段后,多个字段表示复合主键

);

已有表设置:

ALTER TABLE 表名

ADD

PRIMARY KEY(字段名) #受数据影响,多个字段名表示复合主键

删除主键:

ALTER TABLE 表名

DROP

PRIMARY KEY; #复合主键必须同时删除

注:复合主键的多个数据不能完全一样;主键常和AUTO_INCREMENT连用,实现自增,从最大值开始加1

   

FOREIGN KEY:外键

使用外键的条件

  1. 表的存储引擎必须是innodb
  2. 字段类型要一致
  3. 被参照字段必须要是索引类型的一种(primarykey)

外键的作用:给表中字段赋值时,字段的值只能在另外一张表的字段值里选择

注:用desc查看时显示MUI标志,要用"show create table 表名;"查看建表过程

建表时设置

无符号: UNSIGNED

猜你喜欢

转载自www.cnblogs.com/NINOMIYA1360/p/9943125.html