MYSQL中约束及修改数据表

时间:2022-09-21 13:08:50

MYSQL中约束及修改数据表

28:约束
约束保证数据的完整性和一致性
约束分为表级约束和列级约束
约束类型包括:
    NOT NULL(非空约束)
    PRIMARY KEY(主键约束)
    UNIQUE KEY(唯一约束)
    DEFAULT(默认约束)
    FOREIGN KEY(外键约束)


29:查看数据表的存储引擎
SHOW CREATE TABLE 数据表名;
MYSQL中约束及修改数据表



30:删除表中的数据
DELETE FROM 数据表名 WHERE 条件;


31:外键约束的参照操作(外键约束的要求解析)
外键约束保证数据一致性,完整性,实现一对多或者一对一关系
(含有外键的表称为子表)
外键约束的要求
1:父表和子表必须使用相同的存储引擎,而且禁止使用临时表
2:数据表的存储引擎只能为InnoDB
3:外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符的长度则可以不同
4:外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL将自动创建索引
MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

 

32:查看是否存在索引
SHOW INDEXES FROM provinces;
以网格的形式显示索引    
SHOW INDEXES FROM provinces\G;    

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

33:外键约束的参照操作
CASCADE:从父表删除或者更新且自动删除或者更新子表中匹配的行
《在两表中插入记录,必须先在父表中插入记录》
SET NULL:从父表删除或者更新行,并且设置子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定NOT NULL
RESTRICT:拒绝对父表的删除或者更新操作
NO ACTION:标准sql的关键字,在my sql中与RESTRICT相同
MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

删除表中的数据
DELETE FROM 数据表名 WHERE 条件;

MYSQL中约束及修改数据表

34:表级约束和列级约束
对一个数据列建立的约束,称为列级约束《实际开发中多用》
对多个数据列建立的约束,称为表级约束
列级约束既可以在列定义时声明,也可以在列定义后声明,
表级约束只能在列定义后声明。

35:修改数据表(修改,删除)
添加单列
ALTER TABLE 数据表名 ADD 列名称 列定义 [FIRST] 指定列
添加单列(不可以指定位置)
...
删除列
ALTER TABLE 数据表名 DROP 列名;
MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

 添加主键约束(只可以有一个)

MYSQL中约束及修改数据表

 

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

添加唯一约束(可以添加多个)

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

 添加外键约束

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

 添加或者删除默认约束

MYSQL中约束及修改数据表

 

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

删除主键约束

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表


删除唯一约束

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

查看约束的名字
SHOW INDEXES FROM 数据表的名字;

MYSQL中约束及修改数据表


删除外键约束

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

查看外键名称
SHOW CREATE TABLE 数据表名;

MYSQL中约束及修改数据表

删除索引
MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

 
修改列定义

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表


修改列名称
MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

修改数据表的名字

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表

MYSQL中约束及修改数据表