数据库上机2

数据库上机报告

实验二 操纵数据

实验目标:

  • 向表中添加记录;
  • 修改表中已有记录;
  • 删除表中已有记录;
  • 事务控制及其重要性。

向表中添加记录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18



-- 插入单条
INSERT INTO student_info (email, name, student_id,phone_number )
VALUES ('[email protected]', '贾啸寰', 0221121978,18300000000);

-- 插入多条
INSERT ALL
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '贾啸寰', 0221121978,18300000000)
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '牛泓凯', 0221121975,18300005000)
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '柴宝文', 0221123477,18300001000)
select * from dual;

-- 插入空值
INSERT INTO student_info (student_id, name, contact_number, enrollment_date)
VALUES (1, '张三', NULL, SYSDATE);

修改表中已有记录

1
2
3
4
5
UPDATE student_info
SET email='[email protected]'
WHERE name = '贾啸寰';
-- 不使用 WHERE 子句将更新所有记录
UPDATE student_info SET enrollment_date = TO_DATE('2024-09-01', 'YYYY-MM-DD');


删除表中已有记录

1
2
3
4
5
-- 删除匹配项
DELETE FROM student_info
WHERE email = '[email protected]';
-- 若不加where子句,则删除所有
DELETE FROM example_table; -- 这将删除表中所有记录

事务控制及其重要性

事务 是一组被视为单个逻辑单位的 SQL 语句。事务确保数据库的完整性和一致性,通常包括以下几个特征(ACID 属性):

  • 原子性 (Atomicity) :事务中的所有操作要么全部成功,要么全部失败,不会出现部分成功的情况。
  • 一致性 (Consistency) :事务开始前后,数据库都必须保持一致性状态。
  • 隔离性 (Isolation) :多个并发事务之间互不干扰,每个事务对其他事务的操作都是不可见的。
  • 持久性 (Durability) :一旦事务提交,其对数据库的改变是永久的,即使系统故障也不会丢失。

事务控制命令

  • COMMIT:用于提交当前事务,将所有更改永久保存到数据库。
  • ROLLBACK:用于回滚当前事务,撤销自上次 COMMIT 以来的所有更改。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14

Savepoint a;

INSERT ALL
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '贾啸寰', 0221121978,18300000000)
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '牛泓凯', 0221121975,18300005000)
INTO student_info (email, name, student_id,phone_number ) VALUES ('[email protected]', '柴宝文', 0221123477,18300001000)
select * from dual;

-- 如果所有操作成功,提交事务
COMMIT;

-- 如果出现错误,回滚事务
Rollback To a;;

重要性

  • 数据完整性 :事务确保在并发环境中,数据的完整性和一致性不会受到影响。
  • 错误恢复 :通过回滚,开发者可以防止因错误操作导致的数据不一致。
  • 并发控制 :通过事务,数据库可以有效管理多个用户的并发访问,避免脏读、不可重复读和幻读等问题。
Author

Daniel Niu

Posted on

2024-09-27

Updated on

2024-09-27

Licensed under

Comments