- 连接数据库
~]# mysql -u:用户名 -p:密码 -S:socket文件 -h:ip -P:端口 -e:直接执行的命令 <:恢复数据
- 字符集
> show charset; #常用 utf8:3个字节 utf8mb4:4个字节,支持emoji
- 排序规则
utf8mb4_general_ci:大小写不敏感 utf8mb4_bin:大小写敏感
- 数据库定义
#创建数据库 > CREATE DATABASE zabbix CHARSET utf8mb4 COLLATE utf8mb4_bin; #查看数据库 > SHOW DATABASES; > SHOW CREATE DATABASE zabbix; #删除数据库 > DROP DATABASE oldguo;
-
查询语句
- 查询语句优先级
select 列 from 表 where 条件 group by 条件 having 条件 order by 条件 limit
-
- 普通查询
#查询表中 name和population的值 SELECT NAME ,population FROM city;
-
- 条件查询
#SELECT配合WHERE 子句使用 #查询中国所有的城市名和人口数 SELECT NAME,population FROM city WHERE countrycode='CHN'; #世界上小于100人的城市名和人口数 SELECT NAME,population FROM city WHERE population<100;
-
- 逻辑操作符
#1. 查询中国人口数量大于1000w的城市名和人口 SELECT NAME,population FROM city WHERE countrycode='CHN' AND population>8000000; #2. 查询中国或美国的城市名和人口数 SELECT NAME,population FROM city WHERE countrycode='CHN' OR countrycode='USA'; #3. 查询人口数量在500w到600w之间的城市名和人口数 SELECT NAME,population FROM city WHERE population>5000000 AND population<6000000;
-
- 模糊查询
#where 配合 like 子句 模糊查询 #查询一下contrycode中带有CH开头,城市信息 SELECT * FROM city WHERE countrycode LIKE 'CH%';
-
- in语句
#where 配合 in 语句 #查询中国或美国的城市信息 SELECT NAME,population FROM city WHERE countrycode='CHN' OR countrycode='USA';
-
- 分组查询
#GROUP BY #将某列中有共同条件的数据行,分成一组,然后在进行聚合函数操作. #1. 统计每个国家,城市的个数 SELECT countrycode ,COUNT(id) FROM city GROUP BY countrycode; #2. 统计每个国家的总人口数. SELECT countrycode,SUM(population) FROM city GROUP BY countrycode; #3. 统计每个 国家 省 的个数 SELECT countrycode,COUNT(DISTINCT district) FROM city GROUP BY countrycode; #4. 统计中国 每个省的总人口数 SELECT district, SUM(population) FROM city WHERE countrycode='CHN' GROUP BY district ; #5. 统计中国 每个省城市的个数 SELECT district, COUNT(NAME) FROM city WHERE countrycode='CHN' GROUP BY district ; #6. 统计中国 每个省城市的名字列表GROUP_CONCAT() SELECT district, GROUP_CONCAT(NAME) FROM city WHERE countrycode='CHN' GROUP BY district ;