zoukankan      html  css  js  c++  java
  • 常见DML语句汇总

    DML操作是指对数据中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作,下面依次对它们进行介绍。
    (1) 插入记录
    INSERT INTO tablename(field1,field2,…,fieldn) VALUES(value1,vaule2,…,valuen)
    (2) 更新记录
    UPDATE tablename SET field1=value1,field2=value2,…,fieldn=valuen [WHERE CONDITION]
    (3) 同时更新多个表数据
    UPDATE t1,t2,…tn SET t1.field=value1,t2.fieldn=valuen [WHERE CONITION]
    (4) 删除记录
    DELETE FROM tablename [WHERE CONDITION]
    (5) 删除多个表的数据
    DELETE FROM t1,t2,…,tn FROM t1,t2,…,tn[WHERE CONDITION]
    (6) 查询记录
    SELECT * FROM tablename [WHERE CONDITION]
    (7) 排序
    SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC] , field2 [DESC|ASC] ,…, fieldn [DESC|ASC]]
    (8) 聚合
    SELECT [field1,field2,…,fieldn] fun_name FROM tablename [WHERE CONDITION] [GROUP BY field1,field2,…,fieldn] [WITH ROLLUP] [HAVING CONDITION]
    - fun_name表示要做的聚合操作、也就是聚合函数、常用的又sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)
    - WITH ROLLUP 是可选语法、表明是否对分类聚合后的结果进行再汇总
    - HAVING关键字表示对分类后的结果在进行条件的过滤
    注意:having和where的区别在于,having是对聚合后的结果进行条件的过滤,而where是在聚合前就对记录进行过滤,若果逻辑允许,我们尽可能用where先过滤记录,这样因为结果集减少,将对聚合的效率大大提高,最后再根据逻辑看是否用having进行过滤。
    (9) 内连接(包含左右表中互相匹配的记录
    SELECT * FROM tb1 INNER JOIN tb2 WHERE CONDITION
    (10) 左连接(包含所有的左表中的记录甚至是右边表中没有和它匹配的记录
    SELECT * FROM tb1 LEFT JOIN tb2 WHERE CONDITION
    (11) 右连接(包含所有的左表中的记录甚至是右边表中没有和它匹配的记录
    SELECT * FROM tb1 LEFT JOIN tb2 WHERE CONDITION
    (12) 子查询
    SELECT * FROM tb1 WHERE filed1 IN (SELECT field1 FROM tb2)
    注意:表连接在很多情况夏用于优化子查询
    (13) 记录联合
    SELECT * FROM tb1 UNION|UNION ALL SELECT * FROM tb2
    注意:使用UNION和UNION ALL将多个表中的数据按照一定的查询条件查询出来和,将结果合并到一起显示出来。UNION和UNION ALL的主要区别是UNION ALL是把结果集直接合并在一起,而UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复的记录。

  • 相关阅读:
    hihocoder 1489(微软2017, 数学,模拟)
    图论——迪杰斯特拉算法(Dijkstra)实现,leetcode
    DFS,BFS 练习(深搜,广搜,图,leetcode)
    什么是渗透测试?黑客安全专家郭盛华这样说
    为什么印度容易遭受网络黑客攻击?
    郭盛华年收入5000万是真的吗?
    警方突袭德国间谍软件公司
    苹果推出首款5G手机,相机功能比单反还要牛?
    苹果推出iPhone 12,价格比你想象中更实惠
    韩国AI半导体技术,为何能问鼎世界第一?
  • 原文地址:https://www.cnblogs.com/lyugeyi1030/p/8535323.html
Copyright © 2011-2022 走看看