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

mysql 语句注意事项

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

mysql 语句注意事项

 

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

mysql 语句注意事项

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

mysql 语句注意事项

 

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

mysql 语句注意事项

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

mysql 语句注意事项

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

mysql 语句注意事项

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

mysql 语句注意事项

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

mysql 语句注意事项

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

mysql 语句注意事项

mysql 语句注意事项

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

 

mysql 语句注意事项

mysql 语句注意事项

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

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

mysql 语句注意事项

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

mysql 语句注意事项

mysql支持分组

mysql 语句注意事项

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 语句注意事项

mysql 语句注意事项

删除临时表:

DROP TABLE SalesSummary;

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

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

mysql 语句注意事项

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

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

mysql 语句注意事项

mysql 语句注意事项

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

mysql 语句注意事项

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

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

mysql 语句注意事项

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

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

导入备份 

mysql -u root -p database_name < dump.txt

效果如下:mysql 语句注意事项

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

mysql 语句注意事项

 

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

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

mysql 语句注意事项

 

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

mysql 语句注意事项

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

相关文章: