Mysql数据库新手基础学习(一)链接:Mysql数据库新手基础学习(一)-CSDN博客
2、约束
约束就是对表中字段可存储数据的限制,SQl中一共有6中约束,mysql8开始支持全部六种,mysql8之 前的版本【5.6/5.7/5.8】只能支持其中五种
(1)、默认值约束default
作用:用于设置字段默认值,原本是null【未定义】,当然设置字段默认值需要根据字段类型决定
(2)、非空约束 not null
作用:用于插入/修改操作时,如果字段设置了not null 那么该字段必须设置内容,否则报错
(3)、唯一约束 unique
作用:用于插入/修改操作时,如果字段设置了unique,插入的内容必须唯一,否则报错,但是对null无 效,只对具体值生效
(4)、主键约束 primary key
主键约束一个表中只能存在一组主键约束,可以作用于单个字段【单值主键】,也可以作用于多个字段 的组合结果【复合主键】,主键要求唯一且非空,作为该条数据的标识来使用的,就好比是数据的”身份 证号“一样
补充:自增【最大值上自动+1】主键
如果主键是单一主键,并且使用的int,可以通过自增【auto_increment】让其自动生成主键,无效手动 设置了
如果设置了自增主键,只要出现了的编号就不会再次出现,新的编号会从当前最大编号开始+1
因此想要让编号重置为就必须将真个表截断【truncate table】,重置整个表才可以
(5)、外键约束 foreign key
外键用于表示两个表中数据的对应关系的字段
create table 表(
...
外键字段名 字段类型,
foreign key(外键字段名) references 参照表(参照字段名)
);
--- foreign key外键
--- references 参照于
(6)、检查约束 check
对于满足条件的值才可以存储进入,不满足的不能,mysql8开始支持,之前版本有写法但是不生效.
create table 表(
字段名1 字段类型,
.... , check(字段名1 比较运算符 值)
);
3、级联操作
在建立外键后,为了在数据更新时,数据删除时可以维护数据的一致性,就有了一个级联操作,级联有4 种
create table 表(
... ,
外键字段 外键类型, foregin key(外键) references 参照表(参照字段) on update 级联类型 on delete 级联类 型
)
(1)、restrict
restrict默认级联 ,只要设置外键约束自动添加,特性是参照字段被外键字段引用后,不能改变,也不能 删除
(2)、cascade
当参照字段被外键字段引用时,如果参照字段改变,外键字段也会改变,参照字段删除,外键字段所在 数据也会删除
(3)、set null
当参照字段被外键字段引用时,如果参照字段改变,外键字段会改为null,参照字段删除,外键字段也 会改为null
(4)、no action
action 和restrict表现形式一致
4、DML语句
DML数据操作语言,主要负责对表中数据进行增加【insert】,删除【delete】,更新【update】操作
(1)、insert添加语句
(2)、update更新语句
where条件【重点】
(3)、delete删除语句
delete from 表 where 条件 注意: delete必须配合where使用,否则删除的全表中全部数据