课 程 推 荐 我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈 MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈 优 质 资 源 下 载 :👉👉 资源下载合集 👈👈 优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈 .
SQL基础查询_增、删、改数据
- SQL简介
- SQL:结构化查询语言(Structured Query Language)简称SQL,属于编程语言的一种。是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
- 在开发过程中,客户端把SQL语句发送给服务器,服务器对SQL语句进行编译、执行,把执行的结果返回给客户端
- SQL语言共分为五大类:
- 数据定义语言(DDL):
- 包括 CREATE(创建命令)、ALTER(修改命令)、DROP(删除命令)等
- 数据操纵语言(DML):
- 包括 INSERT(插入命令)、UPDATE(更新命令)、DELETE(删除命令)等
- 数据查询语言(DQL):
- 包括 SELECT(查询语句)、Order By(排序子句)、Group By(分组子句)等
- 事务控制语言(TCL):
- 包括 COMMIT(提交命令)、ROLLBACK(回滚命令)
- 数据控制语言(DCL):
- 包括 GRANT(授权命令)、REVOKE(撤销命令)
- 数据定义语言(DDL):
- 所有操作数据都不会直接生效。
- 需要通过commit命令来提交生效,也可以通过rollback命令来撤消操作
- 添加数据
- 语法
-- 不指定字段,即给所有字段添加值,不推荐使用--注意点:值的个数必须跟字段个数一致,位置必须一致 insert into 表名 values(值1,值2,...)-- 指定字段添加一条数据 insert into 表名(字段1,字段2,...) values(值1,值2,...)-- 一次性添加多条数据,配合select insert into 表1(字段1,字段2,...) select 字段1,字段2,... from 表2 where 条件;
- 示例
-- 不指定字段添加数据 insert into stu_info value(1001,'小明','男',22);-- 指定字段添加数据 insert into stu_info(stu_id ,str_name ,sex ,age) values(1002,'小红','女',20)-- 一次性添加多条数据 insert into emp_bak(empno,ename,sal,deptno) select empno,ename,sal,deptno from emp where deptno = 10;
- 语法
- 删除数据
- 语法(delete)
-- 删除整表所有数据 delete from 表名;-- 删除指定数据 delete from 表名 where 条件;
- 语法(truncate)
-- truncate只能删除所有数据 truncate table 表名
- 示例
-- 删除整表所有数据 delete from stu_info;-- 删除指定数据 delete from stu_info where stu_name = '小红';-- truncate删除数据 truncate table stu_info;
- delete与truncate区别
- delete不能使自动编号返回为起始值。truncate能使自动增长的列的值返回为默认的种子
- truncate只能一次清空,不能按条件删除。但是delete可以按条件清除部分记录。
- truncate清空数据表性能(速度)比delete快。
- delete删除数据会将所有删除记录到系统日志中,truncate不会记录到系统日志,不会触发delete触发器
- delete删除数据需要提交,可以回滚事务。truncate删除数据不需要提交,无法回滚事务
- 语法(delete)
- 更新数据
- 语法
-- 更新所有数据的指定字段 update 表名 set 字段1=值1,字段2=值2;-- 更新指定数据的指定字段 update 表名 set 字段1=值1,字段2=值2 where 条件;-- 根据查询结果更新表字段 update 表名1 set(字段1,字段2,..)=(select 字段1,字段2,... from 表名2 where 条件)
- 示例
-- 更新所有数据的指定字段 update stu_info set sex='女'; -- 该操作会将所有人员的性别均改成 女-- 更新指定数据的指定字段 update 表名 set sex=男,age=25 where stu_name='小明'; -- 该操作仅更新名字为 小明
- 语法