MySQL高级(进阶) SQL 语句一

胸怀万里世界, 放眼无限未来。这篇文章主要讲述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

    推荐阅读