MySQL数据库基本操作-DQL-基本查询

目录标题

    • 1、简单查询
    • 2、运算符
    • 3、排序查询
    • 4、聚合查询
    • 5、分组查询
    • 6、分页查询
    • 7、INSERT INTQ SELECT语句
    • 8、正侧表达式

1、简单查询

语法结构

-- ---查询所有的内容
select * from 表名;

-- 查询指定列的内容
select 列名 ,列名 from 表名;

-- ---别名查询.使用的关键字是as (as可以省略的).
select * from 表名 as 表别名自定义;

-- --- 列别名:
select 列名 ,列名  as 列别名自定义  from 学生表;

-- ---去掉重复值.
select distinct 列名 from 表名;

-- ---查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select 列名+10 别名 from 表名;

-- ---模糊查询  %用来匹配任意字符  下划线匹配单个字符
select * from 列名 where like '要查询的内容';
select * from 列名 where like '_要查询的内容%';

语法案例

-- ---查询所有的内容
select * from 学生表;

-- ---查询指定列的内容
select id ,birth from 学生表;

-- ----- 别名查询.使用的关键字是as (as可以省略的).
select * from 学生表 as p;

-- --- 列别名:
select id  as 序号id  from  学生表;

-- --- 去掉重复值 可以把if换成* 
select distinct id from 学生表;

-- ---查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select id+10 别名 from 学生表;

2、运算符

算数运算符

算数运算符 说明
+ 加法运算
- 减法运算
* 乘法运算
/或DIV 除法运算,返回商
%或MOD 求余运算,返回余数
IS NUL 或 ISNULL 判断一个值是否为NULL
IS NOT NULL 判断一个值是否不为NULL
like 模糊匹配

逻辑运算符

逻辑运算符 说明
NOT 或者 ! 逻辑非
AND 或者 && 逻辑与
OR 或者 || 逻辑或
XOR 逻辑异或

3、排序查询

语法结构

asc代表升序,desc代表降序,如果不写默认升序

order by用于子句中可以支持单个字段,多个字段,表达式,函数,别名

order by子句,放在查询语句的最后面。LIMIT子句除外

select * from  表名 order by 列名 asc;
select * from  表名 order by 列名 desc;

语法案例

select * from  学生表 order by id;
select * from  学生表 order by id asc;
select * from  学生表 order by id desc;

4、聚合查询

聚合函数 作用
cont() 统计指定列不为NULL的记录行数;
sum() 计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为o
max() 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min() 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
avg() 计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为o

语法结构

select  count(列名) from 表名;

-----查询大于200的总个数
select  count(列名) from 表名 where 列名>200 ;

语法案例

select  count(id) from 学生表;

--------查询大于200的总个数
select  count(id) from 表名 where id>200 ;

5、分组查询

分组查询是指使用group by字句对查询信息进行分组。

分组之后对统计结果进行筛选的话必须使用having,不能使用where

where子句用来筛选 FROM子句中指定的操作所产生的行
group by子句用来分组WHERE子句的输出。
having子句用来从分组的结果中筛选行

语法结构

select   count(列名)  from 表名  group by 列名;

--只显示大于4的内容
select   count(列名) 列名  from 表名  group by 列名 having 列名>4;

语法案例

select  count(id)  from 学生表  group by id;

--只显示大于4的内容
select  count(id) id from 学生表  group by id having id>2;

6、分页查询

limit分页查询在项目开发中常见,由于数据量很大,显示屏长度有限,因此对数据需要采取分页显示方式。例如数据共有30条,每页显示5条,第一页显示1-5条,第二页显示6-10条。

语法结构

-- m:整数,表示从第几条索引开始,计算方式(当前页-1) *每页显示条数
-- n:整数,表示查询多少条数据
select  *  from 表名 limit m,n

语法案例

-- 分页查询 查询前3条数据
select  *  from 学生表 limit 3;
-- 分页查询 查询3到5条数据
select  *  from 学生表 limit 3,5;

7、INSERT INTQ SELECT语句

语法结构

inser into 表1  select * from 表2

语法案例

把表2插入到表1
inser into 表1  select * from 表2;

8、正侧表达式

语法结构

select  'abc' regexp 'a$';

语法案例

select  * from 表名 where regexp '^小明';

你可能感兴趣的:(MySQL,数据库,mysql,sql)