![cover](https://images-1319591454.cos.ap-nanjing.myqcloud.com/images/2023-9-30%2000%3A37%3A161696005436873.png)
SQL基础操作
SQL 基础用法
DQL
(Data Query Language)数据查询语言排序查询
语法: order by 子句
-- 默认升序 SELECT * FROM person ORDER BY math; -- 降序 SELECT * FROM person ORDER BY math desc;
聚合函数:将一列数据作为一个整体,进行纵向的计算
- count--计算个数
- max--计算最大值
- min--计算最小值
- sum--计算和
- avg--计算平均数
分组查询 grout by
- 语法: group by 分组字段;
- 注意: 分组之后查询的字段: 分组字段、聚合函数
-- 按照性别分组。分别查询男、女同学的平均分
SELECT gender ,AVG(math) FROM student GROUP BY gender;
-- 按照性别分组。分别查询男、女同学的平均分,人数
SELECT gender ,AVG(math),COUNT(id) FROM studentGROUP BY gender;
DDL
(Data Definition Language)数据定义语言
-- 创建库 create database db1; -- 创建库是否存在,不存在则创建 create database if not exists db1; -- 查看所有数据库 show databases ; -- 查看某个数据库的定义信息 show create database db1; -- 修改数据库字符信息 alter database db1 character set utf8; -- 删除数据库 drop database db1; -- 查看表结构 desc 表名; -- 查看创建表的SQL语句 show create table 表名; -- 修改表名 alter table 表名 rename to 新的表名; -- 添加一列 alter table 表名 add 列名 数据类型; -- 删除列 alter table 表名 drop 列名; -- 删除表 drop table 表名; drop tableif exists 表名
分页查询
语法: imit 开始的索引,每页查询的条数
公式: 开始的索引 = (当前的页码 - 1) * 每页显示的条数
limit 是一个MySQL"方言"
-- 每页显示3条记录 -- 第1页 SELECT * FROM student LIMIT 0,3; -- 第2页 SELECT * FROM student LIMIT 3,3; -- 第3页 SELECT * FROM student LIMIT 6,3;
子查询
查询中嵌套查询
-- 查询最高的年龄 SELECT MAX(age) FROM emp; -- 查询人员信息,并且年龄等于30的 SELECT * FROM emp WHERE emp.age = 30; -- 一条sql就完成这个操作。这就是子查询 SELECT * FROM emp WHERE emp.salary(SELECT MAX(age) FROM emp);
连接查询
左外连接
-- 查询的是左表所有数据以及其交集部分 select 字段列表 from 表1 Left [outer] join 表2 on 条件;
右外连接
-- 查询的是右表所有数据以及其交集部分 seLect 字段列表 from 表 right outer join 表2 ON 条件;
DML
(Data Manipulation Language)数据操作语言
增加 insert into
-- 写全所有列名
insert into 表名(列名1,列名2,..列名n) values(值1,值2,..值n);
-- 不写列名 (所有列全部添加)
insert into 表名 values(值1,值2,..值n);
-- 插入部分数据
insert into 表名(列名1,列名2) values(值1,值2);
删除 delete
-- 删除表中数据
delete from 表名 where 列名 = 值;
-- 删除表中所有数据
delete from 表名;
-- 删除表中所有数据 (高效 先删除表,然后再创建一张一样的表。)
truncate table 表名;
修改 update
-- 不带条件的修改(会修改所有行)
update 表名 set 列名 = 值;
-- 带条件的修改
update 表名 set 列名 = 值 where 列名=
UPDATE [IGNORE] table name
SET
column_name1 = value1
column name2 = value2
[WHERE cTause]
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果