MySQL基础及元数据获取学习笔记day04
DQL基础应用
0. 介绍
select 语句应用1. SELECT 单独使
select(单表)的执行逻辑 *****
select 列1 , 列2
from 表
where 条件
group by 条件
having 条件
order by 条件
limit 条件
-- 1.1 SELECT @@参数名;
例子 :
SELECT @@datadir;-- 2. FROM 子句应用
SELECT @@port;
SELECT @@socket;
SELECT @@innodb_flush_log_at_trx_commit;
SHOW VARIABLES LIKE '%trx%';
SHOW VARIABLES;
-- 1.2 SELECT 函数();
SELECT NOW();
USE mysql;
SELECT DATABASE();
SELECT USER();
SELECT 16*16;
SELECT CONCAT("hello world");
SELECT CONCAT(USER,"@",HOST) FROM mysql.user;
SELECT GROUP_CONCAT(USER,"@",HOST) FROM mysql.user;
表结构介绍:
USE world;
SHOW TABLES;
city 城市
country 国家
countrylanguage 国家语言
DESC city;
id 主键
NAME 城市名
countrycode 国家代码(USA,CHN,JPN)
district 省,洲
population 城市人口
SELECT * FROM city; cat /etc/passwd-- 3. where子句应用
SELECT NAME,countrycode FROM city; awk 3
-- 3.1 等值查询
-- 查询中国城市的信息.-- 4. group by 分组子句+聚合函数应用
SELECT * FROM city WHERE countrycode='CHN' ;
-- 3.2 不等值查询
-- 查询人口数量少于100人城市.
SELECT * FROM city WHERE population<100;
-- 查询ID小于10的城市信息
SELECT * FROM city WHERE id<10;
-- 查询不是中国的城市信息(尽量不使用不等于,可能不走索引)
SELECT * FROM city WHERE countrycode!='CHN';
-- 3.3 模糊查询
-- 查询国家代号为CH打头的城市信息.
SELECT * FROM city WHERE countrycode LIKE 'CH%';
SELECT * FROM city WHERE countrycode LIKE '%CH%';
-- 注意: 避免使用 like 中前面带%的模糊查询
-- 4.1什么是分组
按照某个列进行分组-- 4.3 例子
-- 4.2常用的聚合函数
COUNT() 计数
MAX() 最大值
MIN() 最小值
AVG() 平均值
SUM() 求和
GROUP_CONCAT() 列转行
-- 统计每个国家的城市个数-- 5. having 子句使用
SELECT countrycode,COUNT(id) FROM city
GROUP BY countrycode;
-- 统一每个国家的总人口数
SELECT countrycode,SUM(population) FROM city
GROUP BY countrycode;
-- 统计中国,每个省的,城市个数,省总人口数
-- 统计中国,每个省的,城市个数,省总人口数FROM city
-- 只显示人口总数大于800w的省
SELECT district, COUNT(NAME),SUM(population)
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>8000000;
-- 6. order by 子句
-- 以上例子,将人口数进行排序输出
SELECT district, COUNT(NAME),SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>8000000
ORDER BY SUM(population) DESC ;
-- 查询中国所有城市信息,并以人口数降序输出-- 7. limit 应用
SELECT * FROM city WHERE countrycode='CHN'
ORDER BY population DESC ;
-- 查询中国所有城市信息,并以人口数降序输出,只显示前五名
SELECT * FROM city WHERE countrycode='CHN'
ORDER BY population DESC
LIMIT 5 ;
SELECT * FROM city WHERE countrycode='CHN'
ORDER BY population DESC
LIMIT 10 OFFSET 0;
SELECT * FROM city WHERE countrycode='CHN'
ORDER BY population DESC
LIMIT 5 OFFSET 5
SELECT * FROM city WHERE countrycode='CHN'
ORDER BY population DESC
LIMIT 3,5;
【MySQL基础及元数据获取学习笔记day04】-- 跳过前N行,显示M行(N和M代表的是数字)
LIMIT M offet N
LIMIT N,M
推荐阅读
- JS中的各种宽高度定义及其应用
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- Python基础|Python基础 - 练习1
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 经历了人生,才知道人生的艰难!及精彩!
- Java|Java基础——数组
- 罗塞塔石碑的意义(古埃及文字的起源,圣书体文字是如何被破解的)
- 以太坊中的计量单位及相互转换
- Spark|Spark 数据倾斜及其解决方案