Mysql数据库的一些操作

mysql中一条insert语句批量插入多条记录

mysql中null与“空值”的坑

1、我字段类型是not null,为什么我可以插入空值

 


 

 

 

 

2、为毛not null的效率比null高
NULL 其实并不是空值,而是要占用空间,所以mysql在进行比较的时候,NULL 会参与字段比较,所以对效率有一部分影响,
而且B树索引时不会存储NULL值的,所以如果索引的字段可以为NULL,索引的效率会下降很多。
3、判断字段不为空的时候,到底要 select * from table where column <> '' 还是要用 select * from table where column is not null 呢。

 

 

 

 

关于mysql中INT(M) M含义     

外键的定义

推荐看的视频

 

 

 外键有几种约束,NO ACTION/RESTRICR表示父表(关联字段为主键的表)更新删除的时候,如果子表存在和父表在关联字段值相同的时候,

数据库会报错提示无法更新,此时需要先更改子表重复的值才可以修改删除父表,比如关联字段为年级,学生表里有些学生是6年级,

当父表(年级表)要删除六年级记录时,子表(学生表)如果存在六年级的学生则会报错,只有先把六年级的学生的年级字段修为为其他年级才可以进行删除。

SET NULL 表示父表删除记录时,对应的子表相关联的记录被设置为NULL,但是不删除,但CASCADE则是父记录删除,子记录也删除。

关于单行子查询返回多个行

 

 

子查询貌似只能返回一个表的字段,如果返回多个表的字段可以先建立一个视图
还有就是子查询如果返回的是多个值那么就用关键字in,单个值的话用on

 

表中有自增长主键时,插入数据的方法

posted @ 2021-02-23 00:34  你的雷哥  阅读(121)  评论(0编辑  收藏  举报