DQL 数据查询语言

1.select

1.select 单独使用
(1) 查询数据库的参数
查看端口:
select @@port;

查看数据路径
select @@datadir;

(2)调用内置函数
查看当前库
select database();

CONCAT 将内容拼接
select concat(user,host) from mysql.user;
select concat(user,'@',host) from mysql.user;

列转行
select group_concat(xid) from student;

求和
SELECT SUM(xid) FROM student;

(3) 简易计算器
select 4*5;

2.select 配合其他子句使用
select 查询表的内容
(1) 子句列表介绍
from    查询对象是谁(表,视图)
where    过滤字句
group by    分组子句(类似于数组,统计分析类)
having    后过滤子句
order by    排序子句
limit    限制子句(分页子句)

select 配合 from 使用
1.查询表中所有的数据(cat)
select * from city;

2.查询name和population列信息
select name,population from city;

select 配合 from where 使用

-- 1.查询中国所有的城市信息
SELECT * FROM city
WHERE CountryCode='CHN';

-- 2. 查询ID为100的城市信息
SELECT * FROM city
WHERE ID=100;

-- 3. 查询 中国河北省的城市信息
SELECT * FROM city
WHERE CountryCode='CHN' AND district='hebei';

-- 4. 查询 中国或美国的城市信息
SELECT * FROM city
WHERE CountryCode='CHN' OR CountryCode='USA';

或者
SELECT * FROM city
WHERE CountryCode IN ('CHN','USA');

或者
SELECT * FROM city
WHERE CountryCode='CHN'
UNION ALL
SELECT * FROM city
WHERE CountryCode='USA';
-- where 配合范围查询

-- 例子 :
-- 1. 查询人口数量小于100人的城市
SELECT * FROM city
WHERE Population<100;

-- 2. 查询人口数量在100w-200w之间的城市
SELECT * FROM city
WHERE Population>=1000000 AND Population<=2000000;

或者

SELECT * FROM city
WHERE Population BETWEEN 1000000 AND 2000000;

-- 3.查询国家代号是CH开头的城市
SELECT * FROM city
WHERE CountryCode LIKE 'CH%';

-- 注意 % 放在字符前,匹配时不走索引,比较慢,所以,我们通常都放在字符后面
-- where 配合范围查询

-- 例子 :
-- 1. 查询人口数量小于100人的城市
SELECT * FROM city
WHERE Population<100;

-- 2. 查询人口数量在100w-200w之间的城市
SELECT * FROM city
WHERE Population>=1000000 AND Population<=2000000;

或者

SELECT * FROM city
WHERE Population BETWEEN 1000000 AND 2000000;

-- 3.查询国家代号是CH开头的城市
SELECT * FROM city
WHERE CountryCode LIKE 'CH%';

-- 注意 % 放在字符前,匹配时不走索引,比较慢,所以,我们通常都放在字符后面

-- 1.2.4 group by 分组子句 配合  聚合函数应用
-- 什么是聚合函数?
COUNT() -- 计数
SUM()   -- 求和
AVG()   -- 平均值
MAX()   -- 最大值
MIN()   -- 最小值
GROUP_CONCAT  -- 聚合列值

-- MySQL结果集现实的特点:
在结果集显示时,必须是 一对一的方式,不能是一对多的形式。

-- 例子 :
-- 1. 统计一下每个国家的人口总数
SELECT CountryCode,SUM(Population)
FROM city
GROUP BY (CountryCode);

-- 2. 统计中国每个省的人口总数
SELECT District,SUM(Population)
FROM city
WHERE CountryCode='CHN'
GROUP BY (District);

-- 3. 统计一下中国每个省的城市个数,及城市名
SELECT District,COUNT(NAME),GROUP_CONCAT(NAME) FROM city
WHERE CountryCode='CHN'
GROUP BY (District);

-- 4. 统计每个国家的城市个数

SELECT CountryCode,COUNT(District)
FROM city
GROUP BY (CountryCode);

-- 1.2.6 having 后判断 

-- 1. 统计中国每个省的人口总数,只显示总人口数大于500w的省信息.
SELECT  district,SUM(population)  FROM  city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)  >=5000000;

-- 1.2.7  order by 排序子句

-- 例子:
-- 1. 查询中国所有城市信息,人口数从大到小排序输出.
SELECT * FROM city
WHERE countrycode='CHN'
ORDER BY population DESC ;

-- 2. 查询中国所有城市信息,按城市名排序.
SELECT * FROM city
WHERE countrycode='CHN'
ORDER BY NAME;

-- 3. 查询中国所有省的总人口,并按总人口数从大到小排序输出.

SELECT  district,SUM(population)  FROM  city
WHERE countrycode='CHN'
GROUP BY district
ORDER BY SUM(population) DESC;

2.show

查看数据库所有参数
show variables;

原文地址:https://www.cnblogs.com/yangxiaoni/p/12067862.html

时间: 2024-10-11 03:40:45

DQL 数据查询语言的相关文章

八:SQL之DQL数据查询语言单表操作

前言: DQL数据库查询语言是我们在开发中最常使用的SQL,这一章总结了单表操作部分的常用查询方式 主要操作有:查询所有字段.查询指定字段.查询指定记录.带IN的关键字查询,范围查询,陪查询.查询空值 带AND的多条件查询.带OR的多条件查询,关键字DISTINCT,查询结果排序,分组查询.分页查询等 准备好数据测试表 1 mysql> select * from student; 2 +------+----------+-------+----------+-------------+ 3

数据存储——SQLite数据库存储——SQL语句——DQL数据查询语言

一.where  查询条件 1.操作符 (1)is null/is not null  判断控/非空 (2)like  模糊比较字符串 ①通配符 1)%  任意数量字符 2)_   单个字符 ②用法 1)like  ‘%条件%’ 2)like  ‘%条件’ 3)like  '条件%' 4)like  '_条件_' 5)like  '_条件' 6)like  '条件_' (3)in  判断是否在值得列表内 ①和对单个字段  or  运算等效 ②用法 1)字段名 in (值1,值2,...) 2)字

数据存储——SQLite语句之DQL 数据查询语言

一.select 语句 格式:select   字段内容  from  表名 1.字段列表 1-*全部字段 2-逗号间隔的字段名列表 3-用as(可省略)指定别名 2.DISTINCT去重复数据:DISTINCT  字段列表 二.where  查询条件 1.is null/is not null   判断空/非空 2.like  模糊比较字符串 1-通配符 1>%任意数量字符 2>_单个字符 2-用法 1>like‘%条件’ 2>like‘条件%’ 3>like‘%条件%’

SQL入门-DQL数据查询语言--select

1.help select mysql> help select Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] selec

九:SQL之DQL数据查询语言多表操作

前言: 一:数据准备 员工表emp 和部门表 dept --分别创建部门和员工表,并实现一对多关系 DROP TABLE dept; CREATE TABLE `dept`( `d_id` INT(5) PRIMARY KEY AUTO_INCREMENT COMMENT '这是部门id主键自增长', `d_name` VARCHAR(30) NOT NULL UNIQUE COMMENT '这是部门名称唯一非空' ); CREATE TABLE `emp`( `e_id` INT PRIMAR

MySQL数据库之DQL(数据查询语言)

1.MySQL之DQL查询AS CONCAT LIKE的使用 (1)select 列名1,列名2,...... from 表名 [where 条件] 查询所有字段用*,不带where条件的话,就会把表的所有记录查出来 (2)过滤掉重复的列值 select distinct 列名1 from 表名; (3)连接concat select concat(列名1,列名2) from 表名; select concat_ws('分隔符',列名1,列名2) from 表名; 区别:用concat查询出来的

DQL 数据查询语言 IS (information_schema)

3.information_schema 统计信息库 1.介绍: 视图 1.安全: 只允许查询,不知道操作的对象是谁. 2.方便: 只需要简单的select语句即可使用. 2.作用: 1.方便我们做数据库资产统计 库/表: 个数 数据量(容量:行数) 每张表的数据字典信息 2.可以获取到server层状态信息 3.获取到InnoDB引擎层的状态信息 3.应用举例: TABLES : TABLE_SCHEMA: 表所在的库 TABLE_NAME: 表名 ENGINE : 表的引擎 TABLE-RO

DQL数据查询语言——连接查询

--内连接 两种写法 等值连接select r.*,b.bummc from t_hq_ryxx r, t_hq_bm b where r.bumbm = b.bumbm select r.*,b.bummc from t_hq_ryxx r inner join t_hq_bm b on r.bumbm = b.bumbm --不等值连接select r.*,b.bummc from t_hq_ryxx r, t_hq_bm b where r.bumbm > b.bumbm select r

DQL数据查询语言

--查询全表select * from t_hq_ryxx; --查询字段select xingm as 姓名 ,gongz as 工资 from t_hq_ryxx; --链接字段查询select xingm || xingb as 姓名性别 from t_hq_ryxx --去除重复查询select distinct bumbm from t_hq_ryxx; --排序查询 desc 降序 asc升序 select * from t_hq_ryxx order by bumbm desc;