数据处理的常用语句

1.insert插入数据
使用 insert语句向表中插入数据
使用这种语法一次只能向表中插入一条数据。
为每一列添加一个新值。
按列的默认顺序列出各个列的值。
在 insert子句中随意列出列名和他们的值。
字符和日期型数据应包含在单引号中。
可以向表中插入指定的值或是空值
格式:
insert into 表名(列名1, 列名2,列名3,…)
values (给列名1赋值, 给列名2赋值, 给列名3赋值,…);
在这里插入图片描述
从其它表中拷贝数据
不必书写 values子句。
在 insert语句中加入子查询。
子查询中的值列表应与 insert子句中的列名对应

格式:
insert into 表名(子查询)
在这里插入图片描述

2.update更新数据
使用 update语句更新数据
使用 update语句更新数据,可以一次更新多条数据。
使用 where子句指定需要更新的数据。
如果省略 where子句,则表中的所有数据都将被更新。
更新中的数据完整性错误如下:
如果在employees表里改了外键department_id跟departments表里主键值不匹配,则不得修改
格式:
update 表名
set 列名=‘重新赋的值’
where 待修改的筛选条件
例子:
在这里插入图片描述

在 update语句中使用子查询进行赋值:
格式:
update 表名
set 列名1 = (子查询语句),
列名2 = (子查询语句),

where test_id = 1;–指定需要更新的数据

例子:
在这里插入图片描述

3.delete删除数据
使用 where子句删除指定的记录。
如果省略 where子句,则表中的全部数据将被删除
如果删除表里的字段还在别的表里当外键值时 ,则不得修改 则会出现删除中的数据完整性错误
格式:delete from表名 where 筛选条件
例子:

在这里插入图片描述
在 delete中使用子查询
在 delete中使用子查询,使删除基于另一个表中的数据
格式:delete from表名 where 筛选条件使用子查询进行筛选
例子:
在这里插入图片描述
数据库事务
控制事务
4.提交数据commit
在这里插入图片描述
5.数据回滚rollback后的状态
使用 rollback语句可使数据变化失效:
数据改变被取消。
修改前的数据状态被恢复。
锁被释放。
未提交的数据是可以进行回滚的
在这里插入图片描述
使用commit和 rollback语句的优点:
确保数据完整性。
数据改变被提交之前预览。
将逻辑上相关的操作分组。
回滚到保留点(savepoint)
可以使用 savepoint语句在当前事务中创建保存点。
可以使用 rollback to savepoint语句回滚到创建的保存点

事务进程
自动提交在以下情况中执行:
DDL 语句。
DCL 语句。
不使用 commint或 rollback语句提交或回滚,正常结束会话。
会话异常结束或系统异常会导致自动回滚。

提交或回滚前的数据状态
改变前的数据状态是可以恢复的
执行 DML 操作的用户可以通过 select语句查询之前的修正
其他用户不能看到当前用户所做的改变,直到当前用户结束事务。
DML语句所涉及到的行被锁定, 其他用户不能操作。

提交后的数据状态
数据的改变已经被保存到数据库中。
改变前的数据已经丢失。
所有用户可以看到结果。
锁被释放,其他用户可以操作涉及到的数据。
所有保存点被释放。

猜你喜欢

转载自blog.csdn.net/weixin_44564151/article/details/89922171
今日推荐