当前位置:   article > 正文

Mysql的增删改查以及常用语法总结_mysql增删改查语句以及常用方法

mysql增删改查语句以及常用方法

一、insert语句

1. 基本语法:

  1. -- 1. 字段和表中的顺序一致 ,DEFAULT代表使用该列的默认值
  2. INSERT INTO tbl_name VALUES (值1), (值2), (DEFAULT);   
  3. -- 2. 字段顺序打乱,字段与值一一对应
  4. INSERT INTO tbl_name (字段3, 字段2, 字段1) VALUES (值3, 值2, 值1);
  5. -- 3. set实现
  6. INSERT INTO tbl_name set 字段1=1,字段2=2,字段3=3

2. 实用操作:

  1. -- 如果主键冲突,则更新后面的字段
  2. INSERT INTO tbl_name VALUES (值1), (值2), (值3) DUPLICATE KEY UPDATE 字段=值, …;
  3. -- 如果主键冲突,则跳过该行插入
  4. INSERT IGNORE INTO tbl_name ...

二、update语句

1. 基本语法:

UPDATE tab_name SET 字段=值, 字段=WHERE 字段=值;

三、delete语句

1. 基本语法:

  1. DELETE FROM tab_name WHERE 字段=值;
  2. -- 删除表中某一列值重复的项,只保留最小id的
  3. DELETE a FROM tab_name a, tab_name b where a.id > b.id and a.字段=b.字段

四、select语句

1. 基本语法:

   执行顺序为:FROM > WHERE > GROUP BY > HAVING > ORDER BY > SELECT

  1. SELECT 查询的内容 FROM tab_name WHERE 查询条件 GROUP BY 分组字段 HAVING 分组后的条件 ORDER BY 字段;
  2. -- 连接查询
  3. -- 拼接结果
  4. union -- 对两个集合(结果)进行并集操作
  5. union all -- 可以有重复的并集

2. 子查询:一个select查询的结果作为另一个查询的条件

SELECT * FROM tab_name1 where tid IN (SELECT id from tab_name2 WHERE xxx > x)

3. 连接查询:通过某一字段将两表连接,通过不同的连接方式展示查询结果

  1. -- 内连接:取两表交集
  2. SELECT * FROM tab_name1 a [INNER] JOIN tab_name2 b ON a.aid = b.bid
  3. -- 其实等同于
  4. SELECT * FROM tab_name1 a ,tab_name2 b WHERE a.aid = b.bid
  5. -- 外连接-左连接:以左表为主取值,查出的结果条数=左表的总条数
  6. SELECT * FROM tab_name1 a LEFT JOIN tab_name2 b ON a.aid = b.bid
  7. -- 外连接-右连接:以右表为主取值,查出的结果条数=右表的总条数
  8. SELECT * FROM tab_name1 a RIGHT JOIN tab_name2 b ON a.aid = b.bid

五、 sql编程

常用的内置函数、聚合函数和一些公式总结

  1. -- 内置函数
  2. abs(x) -- 绝对值
  3. format(x, d) -- 格式化千分位数值 format(1234567.456, 2) = 1,234,567.46
  4. ceil(x) -- 向上取整
  5. floor(x) -- 向下取整
  6. round(x) -- 四舍五入去整
  7. mod(m, n) -- m%n 求余
  8. pi() -- 获得圆周率
  9. pow(m, n) -- m^n
  10. sqrt(x) -- 算术平方根
  11. rand() -- 随机数
  12. -- 时间相关
  13. now(), current_timestamp(); -- 当前日期时间
  14. current_date(); -- 当前日期
  15. current_time(); -- 当前时间
  16. date( yyyy-mm-dd hh:ii:ss ); -- 获取日期部分
  17. time( yyyy-mm-dd hh:ii:ss ); -- 获取时间部分
  18. -- 双分支 类似java的三元 expr为表达式
  19. if(expr1,expr2,expr3) -- expr1成立则返回expr2的值,反之返回expr3的值
  20. -- 聚合函数
  21. count() -- 计数
  22. sum() -- 求和
  23. max() -- 最大值
  24. min() -- 最小值
  25. avg() -- 平均值
  26. -- 分组 类似于java中stream的groupingby
  27. group_concat([DISTINCT] column1 [ORDER BY column2 ASC\DESC] [SEPARATOR seq]);-- 将分组中column1这一列对应的多行的值 [去重] 按照column2 升序或者降序进行连接,其中分隔符为seq

逻辑控制语句if

  1. if 条件 then xxx
  2. elseif 条件 then xxx
  3. else xxx
  4. end if;

最后,测试过程中,最常用到的就是查询语句,主要是看接口调用的数据传输是否正常,其中多表关联查询和子查询是用的比较多的;这些只是初级的使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/662263
推荐阅读
相关标签
  

闽ICP备14008679号