首先,关系数据库管理系统在执行插入、修改、删除语句时会检查是否破坏已定义的完整性规则,
包括:实体完整性、参照完整性、用户定义的完整性(not null约束,unique约束,值域约束)。
1、插入数据:
insert into 表名···values()···;
insert into 表名 values(“ ”,“ ”,···);
插入一整个元组;
insert into 表名 属性列1,属性列2,属性列3,··· values (“属性值1”,“属性值2”,“属性值3”,···);
插入个别属性值,其他属性值默认为null;
insert into 子查询;
即将子查询的结果插入表中;
在MySQL中,对数据进行操作的基本语句主要包括插入(INSERT)、修改(UPDATE)和删除(DELETE),这些操作都需要遵循数据库的完整性规则,确保数据的准确性和一致性。完整性规则包括实体完整性(确保主键不为空)、参照完整性(确保外键引用有效记录)以及用户定义的完整性(如NOT NULL、UNIQUE和值域约束)。
1. 插入数据:
- `INSERT INTO` 语句用于向表格中添加新的行。基本格式如下:
```sql
INSERT INTO 表名 (属性列1, 属性列2, ...) VALUES (属性值1, 属性值2, ...);
```
- 如果不需要指定列,可以省略列名,直接插入一个完整的元组:
```sql
INSERT INTO 表名 VALUES ('值1', '值2', ...);
```
- 若要插入部分列的值,其余列默认为NULL:
```sql
INSERT INTO 表名 (列1, 列2) VALUES ('值1', '值2');
```
- 使用子查询插入数据:
```sql
INSERT INTO 另一个表名 SELECT * FROM 子查询;
```
这里子查询的结果应与目标表的列数和列类型匹配。
2. 修改数据:
- `UPDATE` 语句用于更新表格中的现有数据。基本格式如下:
```sql
UPDATE 表名 SET 列名 = 新值 WHERE 条件;
```
- 示例:
```sql
UPDATE Student SET Sage = 22 WHERE Sno = '201215121';
```
- 一次性修改多个属性:
```sql
UPDATE 表名 SET 列1 = 新值1, 列2 = 新值2 WHERE 条件;
```
- 对所有记录进行批量修改,如增加年龄10岁:
```sql
UPDATE Student SET Sage = Sage + 10;
```
- 也可以通过子查询来更新数据,但需满足子查询结果与更新列的对应关系。
3. 删除数据:
- `DELETE FROM` 语句用于移除表格中的行。基本格式如下:
```sql
DELETE FROM 表名 WHERE 条件;
```
- 删除特定条件的行:
```sql
DELETE FROM Student WHERE Sno = '201215121';
```
- 删除表中所有数据:
```sql
DELETE FROM Student;
```
- 带有子查询的删除语句:
```sql
DELETE FROM 表名 WHERE 列名 IN (SELECT ... FROM 子查询 WHERE 条件);
```
在进行这些操作时,需要注意避免违反数据库的完整性约束,如可能导致主键重复、外键引用无效或不符合值域限制的修改。同时,对大量数据的操作前最好先备份,以防止不必要的数据丢失。在实际应用中,还会涉及到事务处理、锁定机制等高级概念,确保数据操作的安全性。
- 1
- 2
前往页