泰安医院网站建设,wordpress页面添加新闻,品牌的佛山网站建设,做电影方面的网站怎么做文章目录1. 数据库操作命令1.进入数据库2.查看数据库列表信息3.查看数据库中的数据表信息2.SQL语句命令1. 创建数据表2. 基本查询语句3. SQL排序4. SQL分组统计5. 分页查询6. 多表查询7.自关联查询8.子查询1. 数据库操作命令
1.进入数据库
mysql -uroot -p2.查看数据库列表信…
文章目录1. 数据库操作命令1.进入数据库2.查看数据库列表信息3.查看数据库中的数据表信息2.SQL语句命令1. 创建数据表2. 基本查询语句3. SQL排序4. SQL分组统计5. 分页查询6. 多表查询7.自关联查询8.子查询1. 数据库操作命令
1.进入数据库
mysql -uroot -p2.查看数据库列表信息
show databases;3.查看数据库中的数据表信息
1进入数据库
use mysql;2查看数据表
show tables;2.SQL语句命令
1. 创建数据表
drop table if exists category;
create table category(
id int unsigned primary key auto_increment,
typeId int,
cateName varchar(10)
);insert into category values
(0, 001, 一次性口罩),
(0, 002, KN95口罩),
(0, 003, N95口罩),
(0, 004, 医用口罩);drop table if exists goods;
create table goods(id int unsigned primary key auto_increment,goodsName varchar(10),price int,num int,company varchar(20),remark varchar(20),typeId int
);insert into goods values
(0, 三奇, 25, 100, 某东, 三奇3Q口罩, 4),
(0, 振德, 20, 150, x宝, 振德一次性口罩, 1),
(0, 袋鼠医生, 30, 180, 并夕夕,袋鼠医生医用口罩, 4),
(0, 京东京造, 139, 100, 某东, null, null),
(0, 闪电卫士, 77, 160, x宝, 闪电卫士一次性口罩, 1),
(0, 安克林, 159, 190, 某东,安克林KN95级口罩, 2),
(0, 科西诺, 30, 100, x宝, 科西诺三层防护口罩, 2),
(0, 维德医生, 23, 155, 并夕夕, 维德成人医用口罩, 4),
(0, 庭七, 110, 260, 某东, 医用一次性口罩, 1),
(0, 倍舒特, 72, 190, x宝, 三层防护一次性口罩医用口罩, 4),
(0, 中服绿盾, 110, 50, 某东, , null),
(0, 惠寻, 25, 130, 并夕夕, 惠寻一次性口罩, 1);2. 基本查询语句
-- 基础查询操作-- 查全部
SELECT * FROM goods;-- 查部分
SELECT goodsName,price FROM goods;-- 起别名
SELECT goodsName as 商品名称 FROM goods;-- 去重
SELECT DISTINCT(company) FROM goods;-- 条件查询
SELECT * FROM goods WHERE company并夕夕;-- 模糊查询
SELECT * FROM goods WHERE remark like %一次性口罩;-- 范围查询
SELECT goodsName 商品名称,price 价格 FROM goods WHERE price BETWEEN 10 and 50;-- 判空查询
SELECT * FROM goods WHERE remark is null;
3. SQL排序
-- sql排序-- 语句ORDER BY asc\dese-- 按商品价格升序
SELECT * FROM goods;
SELECT * FROM goods ORDER BY price ASC;-- 按商品价格降序价格相同时 按数目升序排列
SELECT * FROM goods ORDER BY price DESC,num ASC;4. SQL分组统计
-- SQL 分组统计
-- 聚合函数 count min max avg
-- 语句分组group bySELECT * FROM goods;-- 统计表单数据量
SELECT count(*) FROM goods; -- 12
-- 统计表单中各商品的平均数量
SELECT AVG(num) FROM goods; -- 147.0833-- 查询每家公司商品的数量信息
SELECT company,count(*) FROM goods GROUP BY company; 分组条件删选
-- 查询某东和x宝的最贵商品
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods GROUP BY company HAVING company!并夕夕;
SELECT company 公司,MAX(price) 最贵商品价格 FROM goods GROUP BY company HAVING company in (某东,x宝);where和having区别
where是针对From进行删选having是针对分组后group by的结果进行删选只有having后才能用聚合函数 这里是我的一个疑问和解答 为什么不能直接使用where进行以上条件删选 而是一定要分组group by正如如下代码 SELECT company 公司,MAX(price) 最贵商品价格 FROM goods WHERE company in (‘某东’,‘x宝’); . 运行结果是这样的 解释 解释1分组的意义 GROUP BY 语句根据一个或多个字段对结果集进行分组也就是把值相同放到一个组中显示组中一条记录实现对每个组而不是对整个结果集统计。比如统计每个公司最贵的商品价格重点理解查询条件的是每个也就是我们要对表中的数据根据公司要分个类其次是在分类结果中在依次寻求必要条件如果没有group by的话where后只能加一个表项中的一个条件。 解释2使用where如何分组 重要的一点where在分组前加条件having在分组后加条件 SELECT company 公司,MAX(price) 最贵商品价格 FROM goods WHERE company in (某东,x宝) GROUP BY company;group by详解https://blog.csdn.net/qq_39221436/article/details/122576925
5. 分页查询
-- 分页查询
-- 页是查询页的页不是数据表的页
-- 语句limit satrt,count-- 查询商品表5-10行数据 (起始显示第五行一共显示6行)
SELECT * FROM goods;
SELECT * FROM goods LIMIT 4,6; 6. 多表查询
-- 多表查询
-- 类内连接、左连接、右连接
-- 语句inner join、LEFT JOIN、RIGHT JOIN
-- aim:对连接后的表进行字段显示限制SELECT * FROM goods;
SELECT * FROM category;-- 内连接
SELECT * FROM goods INNER JOIN category ON goods.typeIdcategory.typeId;
-- 左连接
SELECT * FROM goods LEFT JOIN category ON goods.typeIdcategory.typeId;
-- 右连接
SELECT * FROM goods RIGHT JOIN category ON goods.typeIdcategory.typeId;7.自关联查询
-- 自关联
-- 条件一个数据表表中至少有两个数据项相关联
-- 方法起别名将一个表变成两个表SELECT * FROM areas;-- 选择所以河北的城市
SELECT * FROM areas a1 INNER JOIN areas a2 on a1.aida2.pid WHERE a1.atitle 河北省;8.子查询
-- 子查询
-- 在一条语句中利用另一条语句充当数据或条件。-- 充当条件
-- 查高于平均价的商品信息
SELECT * FROM goods WHERE price(SELECT AVG(price) FROM goods);-- 充当数据
-- 查询所有来着pdd的商品信息
SELECT * FROM category c INNER JOIN (SELECT * FROM goods WHERE company并夕夕) a ON c.typeIda.typeId;