• MySQL高级SQL语句


    一.准备

    1. mysql -uroot -p123123
    2. create database train_ticket;
    3. #创建库
    4. use train_ticket;
    5. create table REGION(region varchar(10),site varchar(20));
    6. create table FARE(site varchar(20),money int(10),date varchar(15));
    7. #创建表
    8. desc REGION;
    9. desc FARE;
    10. #查看表结构
    11. insert into REGION values ('south','shenzhen');
    12. insert into REGION values ('south','hongkong');
    13. insert into REGION values ('north','beijing');
    14. insert into REGION values ('north','tianjin');
    15. #在表一中插入数据
    16. select * from REGION;
    17. #查看表中的所有数据

     

     二、高阶SQL语句运用

    1、select

    语法: select "字段" from "表名";

    2、 distinct

    语法: select distinct "字段" from "表名";

    3、where 

    语法: select "字段" from "表名" where "条件";

    4、and or / 且 或

    语法: select "字段" from "表名" where "条件1" {[and | or] "条件2"}+ ;

    5、in 

    语法: select "字段" from "表名" where "字段" in ('值1','值2', ...);

    6、between 

    语法: select "字段" from "表名" where "字段" between '值1' and '值2';

    7、通配符 

    通常通配符都是跟 like 一起使用的
    % : 百分号表示零个、一个或多个字符
    _ : 下划线表示单个字符

    'a_z':所有以'a' 起头,另一个任何值的字符,且以'z'为结尾的字符串。例如,'abz' 和'a2z' 都符合这一一个模式,而'akkz'
    并不符合(因为在a和z之间有两个字符,而不是一个字符)。
    'abc%' : 所有以'abc'起头的字符串。 例如,'abcd' 和'abcabc' 都符合这个模式。
    '%xyz' : 所有以'xyz'结尾的字符串。 例如,'wxyz' 和'zzxyz' 都符合这个模式。
    '%an%' : 所有含有'an'这个模式的字符串。例如,'los angeles'和'san francisco'都符合这个模式。
    '_an%' : 所有第二个字母为'a' 和第三个字母为'n' 的字符串。例如,'san francisco' 符合这个模式,而'los angeles '
    则不符合这个模式。

    8、like 

    语法: select "字段" from "表名" where "字段" like {模式};

    9、order by  按关键字排序

    语法: select "字段" from "表名" [where "条件"] order by "字段" [asc,desc];

    10、 group by

    语法: select "字段1",sum("字段2") from "表名" group by "字段1";

    11、having

    语法: select "字段1", sum("字段2") from "表格名" group by "字段1" having (函数条件) ; 

    12、别名—— 字段别名 表格别名

    语法: select "表格别名". "字段1" [as] "字段别名" from "表格名" [as] "表格别名";

    13、子查询

    语法: select "字段1" from "表格1" where "字段2" [比较运算符]           #外查询
    (select "字段1" from "表格2" where "条件");                                        #内查询

    14、exists

    语法: select "字段1" from "表格1" where exists (select * from "表格2" where "条件") ;

    三、函数 

    abs (x)返回 x 的绝对值
    rand()返回 0 到 1 的随机数
    mod(x,y) 返回 x 除以 y 以后的余数
    power (x,y)返回 x 的 y 次方
    round (x)返回离 x 最近的整数
    round (x,y)保留 x 的 y 位小数四舍五入后的值
    sqrt (x)返回 x 的平方根
    truncate (x,y)返回数字 x 截断为 y 位小数的值
    ceil (x)返回大于或等于 x 的最小整数
    floor (x)返回小于或等于 x 的最大整数
    greatest (x1,x2...)返回集合中最大的值
    least(x1,x2...) 返回集合中最小的值

  • 相关阅读:
    代码随想录算法训练营第57天 | 647. 回文子串 516.最长回文子序列 dp总结
    MybatisPlus多表连接查询一对多分页查询数据
    JavaWeb -- MySQL
    Java控制台输入输出问题
    深入解读GLIDE/PITI代码
    停车场管理系统
    在JavaScript中,什么是尾递归优化(tail call optimization)?
    11.11练习题
    elasticsearch多字段聚合实现方式
    一个完整的springboot项目所需要导入的依赖合集(方便查找)
  • 原文地址:https://blog.csdn.net/TTSuzuka/article/details/128151474