胸怀万里世界, 放眼无限未来。这篇文章主要讲述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 "表名";
select store name from store info;
2.distinct
不显示重复的数据记录(去重)
语法: select distinct "字段" from "表名";
select distinct store_name from store_info;
【MySQL高级(进阶) SQL 语句一】
3.where
有条件查询
语法: select "字段" from "表名" where "条件";
select store_name from store_info where sales > 1000;
4.and or / 且 或
语法: select "字段" from "表名" where "条件1" [and | or] "条件2"+ ;
select store_name from store_info where sales > 1000 or (sales < 500 and sales > 200) ;
5.in
显示已知的值的数据记录
语法: select "字段" from "表名" where "字段" in (值1,值2, ...);
select * from store_info where store_name in (los angeles,houston);
6.between
显示两个值范围内的数据记录
语法: select "字段" from "表名" where "字段" between 值1 and 值2;
select * from store_info where date between 2020-12-06 and 2020-12-10;
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 模式;
select * from store_info where store_name like %os%;
9.order by 按关键字排序
语法: select "字段" from "表名" [where "条件"] order by "字段" [asc,desc];
#asc是按照升序进行排序的,是默认的排序方式。
#desc是按降序方式进行排序。
select store_name,sales,date from store_info order by sales desc;
10.group by
对group by后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的;
GROUP BY有一个原则,凡是在GROUP BY后面出现的字段,必须在SELECT 后面出现;
凡是在SELECT后而出现的、且未在聚合函数中出现的字段,必须出现在GROUP BY后而
语法: select "字段1",sum("字段2") from "表名" group by "字段1";
select store_name,sum(sales) from store_info group by store_name order by sales desc;
11. having
推荐阅读
- Linux离线安装Awx
- AD活动目录FSMO五大角色
- Docker学习笔记01
- 企业微信报警提示, /usr/bin/python: bad interpreter: No such file or directory
- MySQL高级(进阶) SQL 语句二
- Docker 数据管理(数据卷容器/镜像创建)
- Docker 搭建本地私有仓库
- docker——docker数据管理
- CGI与FastCGI区别