MySQL高级(进阶) SQL 语句一

Posted 呼噜呼噜懒洋洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
#查看表中的所有数据

MySQL高级(进阶)

MySQL高级(进阶)

二.高阶SQL语句运用

1.select

显示表格中“个或数 个字段的所有数据记录
语法: select "字段" from "表名";
select store name from store info;

MySQL高级(进阶)

2.distinct

不显示重复的数据记录(去重)
语法: select distinct "字段" from "表名";
select distinct store_name from store_info;

MySQL高级(进阶)

3.where

有条件查询
语法: select "字段" from "表名" where "条件";
select store_name from store_info where sales > 1000;

MySQL高级(进阶)

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) ;

MySQL高级(进阶)

5.in

显示已知的值的数据记录
语法: select "字段" from "表名" where "字段" in (值1,值2 ...);
select * from store_info where store_name in (los angeles,houston);

MySQL高级(进阶)

6.between

显示两个值范围内的数据记录
语法: select "字段" from "表名" where "字段" between 值1 and 值2;
select * from store_info where date between 2020-12-06 and 2020-12-10;

MySQL高级(进阶)

7.通配符

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

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

MySQL高级(进阶)

8.like

匹配一个模式来找出我们要的数据记录
语法: select "字段" from "表名" where "字段" like 模式;
select * from store_info where store_name like %os%;

MySQL高级(进阶)

9.order by  按关键字排序

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

#asc是按照升序进行排序的,是默认的排序方式。
#desc是按降序方式进行排序。
select store_name,sales,date from store_info order by sales desc;

MySQL高级(进阶)

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;

MySQL高级(进阶)

11. having

MySQL高级(进阶) SQL 语句一

MySQL高级(进阶)SQL语句

Mysql 进阶查询 (select 语句的高级用法)

mysql-sql高级应用

Linux--MySQL 高级(进阶) SQL 语句 (完)

Linux--MySQL 高级(进阶) SQL 语句