mysql 语句注意事项

1. mysql不支持事务嵌套,如果要实现事务嵌套则要采用其它策略来实现,而laravel中直接粗暴的不执行嵌套的事务,在PHP中事务嵌套会报错。

mysql 语句注意事项_第1张图片

2. mysql 查询是不区分大小写的,如要区分大小写则要使用关键字BINARY,效果如下

mysql 语句注意事项_第2张图片

 

3. 使用like查询,如果未加通配符,则查询结果一样,但表现不一样,使用age like 50这种写法是不走索引的,效果如下所示

mysql 语句注意事项_第3张图片

6. 使用like查询,查询属性中有%标识,可以不转义,效果如下所示

mysql 语句注意事项_第4张图片

 

7. select 的union是去除重复记录的,而union all是不去重复的,效果如下

mysql 语句注意事项_第5张图片

8. 当字段数目不一致的时候是不允许使用union的

9. 使用union的时候,会按照字段的顺序进行汇总,哪怕字段的名称不一致,如果字段名称不一致则以第一个表的字段为准

mysql 语句注意事项_第6张图片

10. groupby语句可以不加汇总函数如sum,count等,如果不加会对记录进行去重复,效果如下

mysql 语句注意事项_第7张图片

11. 我们可以使用一个名字来替代null,效果如下

mysql 语句注意事项_第8张图片

13. with rollup可以统计总数,效果如下所示,显示总数的字段为null

mysql 语句注意事项_第9张图片

mysql 语句注意事项_第10张图片

14. mysql中join是inner join的别名,join有inner join, left join, right join 但无full join 

 

mysql 语句注意事项_第11张图片

15. IS NULL 和 IS NOT NULL ,是特定的写法,如果写成 XXX = NULL 是无效的

16. mysql 对正则的支持是不全面的,支持以下的正则,也支持分组,别的如方向引用等没有测试

mysql 语句注意事项_第12张图片

并且mysql不支持转义但支持分组

mysql 语句注意事项_第13张图片

mysql支持分组

mysql 语句注意事项_第14张图片

17. 不要滥用MYSQL的索引,因为过多的索引会占据内存,切在修改操作时候会维护索引,会减慢更新的速度。

如果某个字段不允许重复,除了代码层面要做逻辑判断,还要建立唯一索引。其语法如下所示

CREATE INDEX indexName ON mytable(username(length)); 
ALTER table tableName ADD INDEX indexName(columnName)
DROP INDEX [indexName] ON mytable; 
SHOW INDEX FROM table_name;

18. 临时表

mysql 语句注意事项_第15张图片

mysql 语句注意事项_第16张图片

删除临时表:

DROP TABLE SalesSummary;

临时表只用命令show tables是看不到的。

19. 可以使用inser select来复制表,先建立一张空表和要复制的表完全相同的字段和类型,然后查询插入

mysql 语句注意事项_第17张图片

20. 数据表的id一般是以step+1的方式自增,但如果做了主从复制,则主表的id未1,3, 5则step + 2;

21. 可以使用sql查看MYSQL服务器的元信息,效果如下

mysql 语句注意事项_第18张图片

mysql 语句注意事项_第19张图片

22. 一般数据表都有一个id自增的序列,我们也可以设置,重设序列(最好不要做很危险),在创建的时候设置序列的初始值

mysql 语句注意事项_第20张图片

23. delete from XXX;和trunate table XXX;的效果是不一样的,trunate操作在删除所有记录后,还会重置序列(自增id)从1开始。

24. 删除重复数据的一种实现方法是先将数据去重复放到临时表,然后删除查询的表,最后将临时表重命名为当前表名

mysql 语句注意事项_第21张图片

25. 可以使用SELECT ... INTO OUTFILE做数据表备份;使用dump语句做数据库备份

mysqldump -u root -p RUNOOB runoob_tbl > dump.txt

导入备份 

mysql -u root -p database_name < dump.txt

效果如下:mysql 语句注意事项_第22张图片

26. mysqldump是linux命令, 在mysql中无法使用,其语法格式如下所示

mysql 语句注意事项_第23张图片

 

具体参考文章:https://www.cnblogs.com/jpfss/p/7867668.html

27. 常见日期处理函数DATE_FORMAT(d,f)

mysql 语句注意事项_第24张图片

 

28. MYSQL 预算符优先级,如下所示

mysql 语句注意事项_第25张图片

和一般的语言一样,一元运算符>算数运算符>关系运算符>逻辑运算符>复制运算符

你可能感兴趣的:(mysql)