Bootstrap

No.6 sql数据库的基础命令--2

No.6 sql数据库的进阶命令

五、查询_数据准备
#创建db1数据库
CREATE DATABASE db1;

#使用db1数据库
USE db1;

#创建数据表
CREATE TABLE product(
id INT, #商品编号
NAME VARCHAR(20), #商品名称
price DOUBLE, #商品价格
brand VARCHAR(10), #商品品牌
stock INT, #商品库存
insert_time DATE #添加时间
);

#添加数据
INSERT INTO product VALUES
(1,'华为手机',3999,'华为',23,'2088-03-10'),
(2,'小米手机',2999,'小米',30,'2088-05-15'),
(3,'苹果手机',5999,'苹果',18,'2088-08-20'),
(4,'华为电脑',6999,'华为',14,'2088-06-16'),
(5,'小米电脑',4999,'小米',26,'2088-07-08'),
(6,'苹果电脑',8999,'苹果',15,'2088-10-25'),
(7,'联想电脑',7999,'联想',NULL,'2088-11-11');
六、查询_查询全部

1、查询全部数据

标准语法:   SELECT * FROM 表名;

#查询product表所有数据
SELECT * FROM product;

2、查询指定列

标准语法:   SELECT 列名1,列名2,... FROM 表名;

#查询名称、价格、品牌
SELECT NAME,price,brand FROM product;

3、去除重复查询

标准语法:   SELECT DISTINCT 列名1,列名2,... FROM 表名;

#查询品牌
SELECT brand FROM product;

#查询品牌,去除重复
SELECT DISTINCT brand FROM product;

4、计算列的值

标准语法:   SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;

如果某一列为null,可以进行替换
ifnull(表达式1,表达式2)
表达式1:想替换的列
表达式2:想替换的值

#查询商品名称和库存,库存数量在原有基础上加10
SELECT NAME,stock+10 FROM product;

#查询商品名称和库存,库存数量在原有基础上加10。进行null值判断
SELECT NAME,IFNULL(stock,0)+10 FROM product;

5、起别名

标准语法:   SELECT 列名1,列名2,... AS 别名 FROM 表名;

#查询商品名称和库存,库存数量在原有基础上加10。进行null值判断。起别名为getSum
SELECT NAME,IFNULL(stock,0)+10 AS getSum FROM product;
SELECT NAME,IFNULL(stock,0)+10 getSum FROM product;

七、查询_条件查询

1、条件查询

标准语法:   SELECT 列名列表 FROM 表名 WHERE 条件;

#查询库存大于20的商品信息
SELECT * FROM product WHERE stock > 20;

#查询品牌为华为的商品信息
SELECT * FROM product WHERE brand='华为';

#查询金额在4000 ~ 6000之间的商品信息
SELECT * FROM product WHERE price >= 4000 AND price <= 6000;
SELECT * FROM product WHERE price BETWEEN 4000 AND 6000;

#查询库存为14、30、23的商品信息
SELECT * FROM product WHERE stock=14 OR stock=30 OR stock=23;
SELECT * FROM product WHERE stock IN(14,30,23);

#查询库存为null的商品信息
SELECT * FROM product WHERE stock IS NULL;

#查询库存不为null的商品信息
SELECT * FROM product WHERE stock IS NOT NULL;

#查询名称以小米为开头的商品信息
SELECT * FROM product WHERE NAME LIKE '小米%';

#查询名称第二个字是为的商品信息
SELECT * FROM product WHERE NAME LIKE '_为%';

#查询名称为四个字符的商品信息
SELECT * FROM product WHERE NAME LIKE '';

#查询名称中包含电脑的商品信息
SELECT * FROM product WHERE NAME LIKE '%电脑%';
八、查询_聚合函数

1、聚合函数

标准语法:   SELECT 函数名(列名) FROM 表名 [WHERE 条件];

#计算product表中总记录条数
SELECT COUNT(*) FROM product;

#获取最高价格
SELECT MAX(price) FROM product;

#获取最低库存
SELECT MIN(stock) FROM product;

#获取总库存数量
SELECT SUM(stock) FROM product;

#获取品牌为苹果的总库存数量
SELECT SUM(stock) FROM product WHERE brand='苹果';

#获取品牌为小米的平均商品价格
SELECT AVG(price) FROM product WHERE brand='小米';
九、查询_排序查询

1、排序查询

标准语法:   
SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;

#按照库存升序排序
SELECT * FROM product ORDER BY stock ASC;

#查询名称中包含手机的商品信息。按照金额降序排序
SELECT * FROM product WHERE NAME LIKE '%手机%' ORDER BY price DESC;

#按照金额升序排序,如果金额相同,按照库存降序排列
SELECT * FROM product ORDER BY price ASC,stock DESC;
十、查询_分组查询

1、分组查询

标准语法:

;