MySQL 入门
-- 查询全部的表数据
SELECT * FROM product;
-- 查询指定的字段数据
SELECT brand,price FROM product;
-- 去除重复查询
SELECT DISTINCT brand FROM product;
-- 查询商品名称和库存, 在原有的基础上库存+10
SELECT NAME,stock+10 FROM product;
-- 进行null值判断
SELECT NAME,IFNULL(stock,0)+10 FROM product;
-- ifnull 判断 (要判断的列,如果为null赋值为:)
-- 查询商品名称和库存,库存在原有的基础上+10 进行null值判断,起别名
SELECT NAME,IFNULL(stock,0)+10 AS getsum FROM product;
-- as关键字可以省略 不过中间要有空格
SELECT NAME,IFNULL(stock,0)+10 getsum FROM product;
-- 查询条件
SELECT * FROM product WHERE stock>20;
SELECT * FROM product WHERE stock<20;
-- 查看库存为14,30,23的商品信息
SELECT * FROM product WHERE stock=14 OR stock=30 OR stock=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 '%电脑%';
-- 获取最高的价格
SELECT MAX(price) FROM product;
-- 最大值(max) 最小值(min) 求和(sum) 平均值(avg) 统计数量(count)
SELECT SUM(stock) FROM product WHERE brand='小米';
SELECT SUM(price) FROM product WHERE NAME LIKE '%电脑%';
-- 排序 select 列名表 from 表名 [where 条件]order by列名 排序方式....
-- asc 升序 desc降序
-- 对仓库进行排序 asc 升序
SELECT * FROM product ORDER BY stock ASC;
-- 对仓库进行desc降序
SELECT * FROM product ORDER BY stock DESC;
-- 对名称中包含手机的商品进行降序排列
SELECT * FROM product ORDER BY NAME LIKE '%手机%' DESC;
-- 按照金额升序 如果相同 按照库存降序
SELECT * FROM product ORDER BY price ASC ,stock DESC;
-- 分组查询
-- select 列名列表 from 表名where 条件 group by 分组列名 [having 分组后过滤条件] [order by 排序名 排序方式];
-- 按照品牌分组 , 获取每组商品的总金额
SELECT brand,SUM(price) FROM product GROUP BY brand;
-- 对金额大于4000元的 按品牌分组 并获取商品总金额
SELECT brand,SUM(price) FROM product WHERE price>4000 GROUP BY brand;
-- 对金额大于4000 的商品按品牌分组 获取总金额 只显示大于7000的
SELECT brand,SUM(price) getsum FROM product WHERE price>4000 GROUP BY brand HAVING getsum > 7000;
-- 分页查询 select 列名列表 from 表名 [where 条件] [havng 分组后的过滤条件 ][order by 排序名 排序方式][imit 当前页数 每页显示的条数]
-- 每页显示3条数据
-- 第一页 , 当前页数= (1-1)*3
SELECT * FROM product LIMIT 0 , 3;
-- 第二页 , 当前页数= (2-1)*3
SELECT * FROM product LIMIT 3,3;
-- 第三页 , 当前页数= (3-1)*3
SELECT * FROM product LIMIT 6,3;
-- 对金额大于4000 的商品按品牌分组 获取总金额 只显示大于7000的
SELECT brand,SUM(price) getsum FROM product WHERE price>4000 GROUP BY brand HAVING getsum > 7000 ;
码龄个把月,不会插图请见谅 初学Mysql还请各位大佬指点.