MySQL高级SQL语句(上)
Posted 正在迷途
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL高级SQL语句(上)相关的知识,希望对你有一定的参考价值。
一、准备
先创建两张表,用于语句实验
mysql -uroot -p123456
show databases;
create database plane;
use plane;
create table destination (
region char(20),
place_name char(20));
insert into destination values(southwest,chengdu);
insert into destination values(north China,beijing);
insert into destination values(southwest,kunming);
insert into destination values(north China,tianjin);
select * from destination;
create table info (
place_name char(20),
sales int(10),
date char(10));
insert into info values(chengdu,300,2022-02-12);
insert into info values(beijing,250,2022-02-12);
insert into info values(kunming,330,2022-02-14);
insert into info values(beijing,180,2022-02-16);
select * from info;
二、MySQL高级语句
1、SELECT------显示表格中一个或数个栏位的所有资料
语法:SELECT "字段" FROM "表名";
例:
select place_name from destination;
2、DISTINCT------不显示重复的资料
语法:SELECT DISTINCT "字段" FROM "表名";
例:
select distinct place_name from info;
3、WHERE------有条件查询
语法:SELECT "字段" FROM "表名" WHERE "条件";
例:
select place_name from info where sales > 300;
4、AND|OR------且|或
语法:SELECT "字段" FROM "表名" WHERE "条件1" [AND|OR] "条件2"+ ;
例:
select place_name from info where sales > 300 or sales < 200;
5、IN------显示已知的值的资料
语法:SELECT "字段" FROM "表名" WHERE "栏位" IN (值1, 值2, ...);
例:
select * from info where place_name in (beijing);
select * from info where place_name in (beijing,kunming);
6、BETWEEN------显示两个值范围内的资料
语法:SELECT "字段" FROM "表名" WHERE "栏位" BETWEEN 值1 AND 值2;
例:
select * from info where sales between 300 and 350;
7、通配符
通常通配符都是跟 LIKE 一起使用的
% :百分号表示零个、一个或多个字符
_ :下划线表示单个字符
例:
A_Z:所有以 A 起头,另一个任何值的字符,且以 Z 为结尾的字符串。例如,ABZ 和 A2Z 都符合这一个模式,而 AKKZ 并不符合 (因为在 A 和 Z 之间有两个字符,而不是一个字符)。
ABC%: 所有以 ABC 起头的字符串。例如,ABCD 和 ABCABC 都符合这个模式。
%XYZ: 所有以 XYZ 结尾的字符串。例如,WXYZ 和 ZZXYZ 都符合这个模式。
%ing%: 所有含有 ing这个模式的字符串。例如,beijing 和 kunming 都符合这个模式。
_ia%:所有第二个字母为 i 和第三个字母为 a 的字符串。例如,tianjin 符合这个模式,而 kunming 则不符合这个模式。
8、LIKE------匹配一个模式来找出我们要的资料
语法:SELECT "字段" FROM "表名" WHERE "栏位" LIKE 模式;
例:
select * from info where place_name like _he%;
9、ORDER BY------按关键字排序
语法:SELECT "字段" FROM "表名" [WHERE "条件"] ORDER BY "字段" [ASC, DESC];
#ASC 是按照升序进行排序的,是默认的排序方式。
#DESC 是按降序方式进行排序。
例:
select place_name,sales,date from info order by sales;
select place_name,sales,date from info order by sales asc;
select place_name,sales,date mysql