• 基于Centos7.6

1.单独使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- select @@xxx 查看系统参数

SELECT @@port #查看当前数据库端口
SELECT @@basedir; #查看安装目录位置
SELECT @@datadir; #查看数据目录位置
SELECT @@socket; #查看socket文件位置
SELECT @@server_id; #查看serverID

-- select 函数();

SELECT NOW(); #查看当前时间
SELECT DATABASE(); #查看当前库
SELECT USER();
SELECT CONCAT("hello world");
SELECT CONCAT(USER,"@",HOST) FROM mysql.user;
SELECT GROUP_CONCAT(USER,"@",HOST) FROM mysql.user;

use mysql
select * from user limit 5; #查看user表前5行顺序

2.单表子句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
执行顺序:selectfromwhere 条件 group by 条件 having 条件 order by 条件 limit

from

SELECT1,列2 FROM
SELECT * FROM

例子:
-- 查询stu中所有的数据(不要对大表进行操作)
SELECT * FROM stu ;
-- 查询stu表中,学生姓名和入学时间
SELECT sname , intime FROM stu;

where

SELECT col1,col2 FROM TABLE WHERE colN 条件;

例子:
-- 查询中国(CHN)所有城市信息
SELECT * FROM city WHERE countrycode='CHN';
-- 查询北京市的信息
SELECT * FROM city WHERE NAME='peking';
-- 查询甘肃省所有城市信息
SELECT * FROM city WHERE district='gansu';
where配合比较操作符(> < >= <= <>)
例子:
-- 查询世界上少于100人的城市

SELECT * FROM city WHERE population<100;
where配合逻辑运算符(and or )
例子:
-- 中国人口数量大于500w

SELECT * FROM city WHERE countrycode='CHN' AND population>5000000;
-- 中国或美国城市信息

SELECT * FROM city WHERE countrycode='CHN' OR countrycode='USA';

where配合like模糊查询
例子:
-- 查询省的名字前面带guang开头的

SELECT * FROM city WHERE district LIKE 'guang%';
注意:如果需要查询带有guang的数据库可以用'%guang%',但是%不建议放在前面,性能较差,因为不走索引。如果此需求较大可以用NOSQL数据库替代。

-- 查询contrycode中有c开头的城市信息

SELECT * FROM city WHERE contrycode LIKE 'c%';

where配合in语句

-- 中国或美国城市信息

SELECT * FROM city WHERE countrycode IN ('CHN' ,'USA');

where配合between and

-- 查询世界上人口数量大于100w小于200w的城市信息

SELECT * FROM city WHERE population >1000000 AND population <2000000;
SELECT * FROM city WHERE population BETWEEN 1000000 AND 2000000;