zoukankan      html  css  js  c++  java
  • MYsql 之单标查询.

    http://www.cnblogs.com/wangfengming/articles/8064956.html

    3.数据操作
    
        1.增
            INSERT into t2(name,age) VALUES('小三',11); -- 指定字段插入
    
            INSERT into t2 VALUES('',13,2.5); -- 整表字段插入
    
            INSERT into t2 VALUES('',13,2.5),('',13,2.5),('',13,2.5),('',13,2.5),('',13,2.5);
            --插入多条
            insert into t1 SELECT id,name from t2; -- 复制表数据
        2.删
            delete from t2 where age = 1113;
        3.改
            update t2 set name ='祝小凤' , salary = 100 where age =13;
        4.查
            select * from T1;
        
            1.简单查询
                -- 查询所有
                select * from person; 
                --查询指定字段
                select name,age FROM person;
                -- 别名+字段运算
                select p.name,p.salary,p.salary+p.salary*0.1 as 'sum' from person as p
                -- 去重复查询
                select DISTINCT salary,name from person; 
            
            2.条件查询
                -- 逻辑运算符 < > <= >= != <> =
                -- is null ,is not null
                -- and  OR ()
    
                SELECT * from person where salary >5000 or ( age <=30 AND NAME ='');
            
            3.区间查询
                SELECT * FROM person where salary >=5000 and salary<=10000;
                -- 推荐使用 :
                --ps:前后包含
                
                SELECT * FROM person where salary between 5000 and 10000;
            
            4.集合查询 in not in
                
                SELECT * FROM person where age = 20 or age = 23 or age =30 ;
    
                SELECT * FROM person where age not in(20,23,30);
                
                
            5.模糊查询 like
                SELECT * FROM person where name LIKE '%月'; -- 以什么结尾
    
                SELECT * FROM person where name LIKE '月%'; -- 以什么开头
    
                SELECT * FROM person where name LIKE '%月%'; -- 包含
    
                SELECT * FROM person where name LIKE '_l%'; -- "_"表示占位符
                
                
            6.排序 
                select * from person ORDER BY salary ASC,age desc;
    
                -- 强制中文[排序
                select * FROM person ORDER BY CONVERT(name USING GBK) ;
        
            7.聚合函数
                select MAX(salary) from person;
                select MIN(salary) from person;
                select AVG(salary) from person;
                select SUM(salary) from person;
                select COUNT(*) from person;
    
            8.分组查询   GROUP BY  HAVING
                select count(id),dept_id,avg(salary) from person GROUP BY dept_id HAVING avg(salary) >=5000 ;
                 where 与 having区别:
                #执行优先级从高到低:where > group by > having 
                #1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
                #2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
            
            9.分页查询 LIMIT
                SELECT * FROM person LIMIT 2,2
    
            10.正则表达式
                SELECT * FROM person where name REGEXP '^a';
                
                SELECT * FROM person where name REGEXP 'n$';
    
                SELECT * FROM person where name REGEXP '.a';
    
                SELECT * FROM person where name REGEXP '[a,e,n]';
    
                SELECT * FROM person where name REGEXP '[^alex]';
    
                SELECT * FROM person where name REGEXP 'a|e';
    
                SELECT * FROM person where name REGEXP '^w.*i$';
    
    
            11. SQL 语句关键字的执行顺序
                
                执行顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY ->limit  
  • 相关阅读:
    爬虫requests模块 1
    刷题记录:ctf473831530_2018_web_virink_web
    刷题记录:[RCTF 2019]Nextphp
    CTF XSS
    PHP 7 源码学习 序&第一、二章
    刷题记录:[安洵杯 2019]iamthinking
    刷题记录:[GWCTF 2019]枯燥的抽奖
    preg_match绕过总结
    刷题记录:[SWPU2019]easy_python
    刷题记录:[GWCTF 2019]我有一个数据库
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/10578077.html
Copyright © 2011-2022 走看看