DQL查询操作
概念:数据管理系统一个重要的功能就是数据查询,数据查询不应只是简单的返回数据库中存储的数据,还应该根据需要对税局进行筛选以及确定什么样的格式显示。
简单查询
方法:
select
[all | distinct]
<目标列的表达式1>[别名],
<目标列的表达式2>[别名]……
from <表名或视图名>[别名],<表名或视图名>[别名]……
[where <条件表达式>]
[group by <列名>]
[having <条件表达式>]
[order by <列名>[asc | desc]]
[limit <数字或者列表>];
注:“ [ ] ”中的条件均可省略
下面的例子涉及几种查询情况。查全表、指定字段查询、列别名查询、表别名查询、去重查询(重复行、重复列)
例如:
-- 简单查询
-- 1.查询所有的商品
SELECT pid,pname,price,category_id FROM product;
SELECT * FROM product;
-- 2.查询商品名
SELECT pname,price FROM product;
-- 3.别名查询 使用的关键字是as(as可省略)
-- 3.1表别名
SELECT * from product as p;
SELECT * from product p;
-- 3.2列别名 SELECT * from product as p;
SELECT pname as '商品名',price '商品价格' FROM product;
-- 4.去掉重复值
SELECT DISTINCT price FROM product;
SELECT DISTINCT * FROM product;
-- 5.查询结果是表达式(运算查询):将所有商品的加价10元进行显示
SELECT pname,price +10 new_price FROM product;
运算符
感念:数据库中的表结构确立后,表中的数据代表的意义就已经确定。通过mysql运算符进行运算,就可以获取到标结果以外的另一种数据。
MySQL支持四种运算符:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
算术运算符
算术运算符 | 说明 |
---|---|
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/或DIV | 除法运算,返回商 |
%或MOD | 求余运算,返回余数 |
例如:
算术运算符
SELECT 6+2;
SELECT 6-2;
SELECT 6*2;
SELECT 6/2;
SELECT 6%2;
-- 将所有商品的价格加十元
SELECT pname,price + 10 as new_price from product;
-- 将所有商品的价格上调10%
SELECT pname,price * 1.1 as new_price from product;
比较运算符
比较运算符 | 说明 |
---|---|
= | 等于 |
< 和<= | 小于和小于等于 |
>= | 大于和大于等于 |
<=> | 安全的等于,两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 |
<>或!= | 不等于 |
IS NULL或ISNULL | 判断一个值是否为NULL |
IS NOT NULL | 判断一个值是否不为NULL |
LEAST | 当有两个或多个参数时,返回最小值 |
FREATEST | 当有两个或多个参数时,返回最大值 |
BETWEEN AND | 判断一个值是否落在两个值之间 |
IN | 判断一个值是IN列表中的任意一个值 |
NOT IN | 判断一个值不是IN列表中的任意一个值 |
LIKE | 通配符匹配 |
REGEXP | 正则表达式匹配 |
例如:
-- 查询商品名称为“海尔洗衣机”的商品所有信息:
SELECT * FROM product WHERE pname= '海尔洗衣机';
-- 查询价格为800的商品
SELECT * FROM product where price = 800;
-- 查询价格不是800的所有商品
SELECT