zoukankan      html  css  js  c++  java
  • Mysql 常用查询语句

    SELECT * FROM table1
    
    SELECT * FROM table1 WHERE id >= 1 AND id<=20 AND id IN(1,2,3,4,5,6,7,8,9) OR (id BETWEEN 1 AND 10)
    
    SELECT * FROM table3 WHERE t3Date >= '2011-08-10'
    
    SELECT * FROM table1 WHERE id IS NOT NULL GROUP BY id,t1Name ORDER BY id,t1Name
    
    SELECT * FROM (SELECT a.*,b.t2Value FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id) a
    
    SELECT a.*,b.* FROM table1 a LEFT JOIN table2 b ON a.id = b.t2Table1Id/*显示a表中所有数据与b表中所有符合关联条件的数据,b表中有多条满足a表条件的行,则b表所有满足的行都显示,结果中对应a表显示部分的内容相同。如果a表中某条数据在b表中没有关联数据,则查询结果该条记录对应b表列为null空*/
    
    SELECT a.*,b.* FROM table1 a RIGHT JOIN table2 b ON a.id = b.t2Table1Id/*显示b表中所有数据与a表中所有符合关联条件的数据。如果b表中某条数据在a表中没有关联数据,则查询结果该条记录对应a表列为null空*/
    
    SELECT a.*,b.* FROM table1 a INNER JOIN table2 b ON a.id = b.t2Table1Id/*只显示a表b表中所有与对方有对应的数据*/
    
    -- 把 UNION 前后两语句查询的结果累加起来,并且结果中字段值完全一样的多条记录只保留一条,再返回结果。UNION前后俩语句查询的字段名及顺序必须一致
    SELECT field1 FROM table1 WHERE id <10
    UNION
    SELECT field1 FROM table1 WHERE id >20
    
    -- 返回数据库最后插入的id值
    SELECT @@IDENTITY AS id;
    SELECT LAST_INSERT_ID() AS id;
    
    UPDATE table4 a LEFT JOIN table5 b ON a.table5_id = b.id SET a.name = CONCAT(a.name, '.html') WHERE b.id = 1;-- CONCAT(a.name, '.html')CONCAT()将两字符串连接后返回
    -- 批插入
    INSERT INTO table1(id, t1Name) VALUES(1, 'name1'), (2, 'name2'), (3, 'name3');
    
    CREATE TABLE table6 AS  SELECT a.id,b.name  FROM table4 a LEFT JOIN table5 b ON a.table5_id = b.id WHERE b.id = 1;-- 用查询结果创建新表,可用来复制表
    
    -- 为输出结果加排序号
    SELECT (@i:=@i+1) AS num,b.test_field2 FROM test_table a
    LEFT JOIN test_table2 b ON a.id = b.test_table_id
    ,(SELECT @i:=0) AS num_table
    
    -- =========================================常用函数,其中参数均可用字段代替
    -- 汇总函数
    SELECT SUM(id) FROM table1 -- 获取括号内字段的和
    ;
    SELECT COUNT(*) FROM table1 -- 获取括号内参数的个数
    ;
    -- 逻辑函数
    SELECT IF(2>1, '2大于1', '2不大于1') -- 判断第一个参数,真返回第二个参数,假返回第三个参数
    ;
    SELECT IFNULL(NULL,0) -- 判断第一个参数,不是NULL返回第一个参数,是NULL返回第二个参数
    ;
    SELECT CASE 1 WHEN 1 THEN '这是1' WHEN 2 THEN '这是2' WHEN 3 THEN '这是3' END AS a -- 判断CASE后面的参数值与哪个WHEN的值相等,就返回这个WHEN对应的THEN的值,不限制WHEN与THEN的个数
    ;
    SELECT CONCAT('a','b','c') -- 将括号内参数值连接起来再返回,参数个数无限制
    ;
    -- 取整函数
    SELECT CEIL(1.2) -- 向上取整,获取大于参数的最小整数,输出2
    ;
    SELECT FLOOR(1.2) -- 向下取整,获取小于参数的最大整数,输出1
    ;
    SELECT ROUND(1.2),ROUND(1.6) -- 四舍五入取整
    ;
    -- 时间函数
    SELECT NOW() -- 获取当前格式化时间 输出 2014-10-16 00:26:04
    ;
    SELECT UNIX_TIMESTAMP(NOW()) -- 获取括号内格式化时间的时间戳,括号为空则返回当前时间戳
    ;
    SELECT UNIX_TIMESTAMP(UTC_DATE()) -- 当天0点时间戳
    ;
    SELECT FROM_UNIXTIME(1413388191, '%Y-%m-%d %H:%i:%s') -- 根据第二参数格式化时间,第二参数可以不写,输出2014-10-15 23:49:51
    ;
    -- 混合应用
    SELECT IF(1 IS NOT NULL,CONCAT('1','不是','NULL'),'是NULL') AS a
    ;
  • 相关阅读:
    Asp.net2.0 中自定义过滤器对Response内容进行处理 dodo
    自动化测试工具 dodo
    TestDriven.NET 2.0——单元测试的好助手(转) dodo
    JS弹出窗口的运用与技巧 dodo
    ElasticSearch 简介 规格严格
    修改PostgreSQL字段长度导致cached plan must not change result type错误 规格严格
    Linux系统更改时区(转) 规格严格
    mvn编译“Cannot find matching toolchain definitions for the following toolchain types“报错解决方法 规格严格
    ElasticSearch 集群 & 数据备份 & 优化 规格严格
    Elasticsearch黑鸟教程22:索引模板的详细介绍 规格严格
  • 原文地址:https://www.cnblogs.com/Skyyj/p/5311350.html
Copyright © 2011-2022 走看看