0


MySQL高级SQL语句

一.准备

mysql -uroot -p123123

create database train_ticket;
#创建库

use train_ticket;
create table REGION(region varchar(10),site varchar(20));
create table FARE(site varchar(20),money int(10),date varchar(15));
#创建表

desc REGION;
desc FARE;
#查看表结构

insert into REGION values ('south','shenzhen');
insert into REGION values ('south','hongkong');
insert into REGION values ('north','beijing');
insert into REGION values ('north','tianjin');
#在表一中插入数据
select * from REGION;
#查看表中的所有数据

二、高阶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...) 返回集合中最小的值

标签: sql mysql 数据库

本文转载自: https://blog.csdn.net/TTSuzuka/article/details/128151474
版权归原作者 梅比乌斯N 所有, 如有侵权,请联系我们删除。

“MySQL高级SQL语句”的评论:

还没有评论