SQL 之 修改数据

本文介绍了SQL中修改数据的四种操作:插入新行、删除行、更新行和清空表。提出了软删除策略以防止错误操作,并详细讲解了INSERT INTO、DELETE、TRUNCATE TABLE和UPDATE语句的使用方法及注意事项,包括如何利用SELECT语句插入数据,以及在更新数据时使用WHERE子句的重要性。

关键字:INSERT INTO , VALUES , DELETE , TRUNCATE TABLE , UPDATE

修改数据:

(1)插入新的行

(2)删除表中的行

(3)更新表中指定的行与列已有的数据


一、修改策略

修改数据的机制十分直接,意味着非常危险。实际中有各种可以帮助防止灾难性错误的策略。

(1)删除行时,可以使用软删除技术,这并不是真正从物理上删除行,可以用表中一个特定的列来标记每行是否有效还是无效。我们只把一个行标记为无效,而不是删除它。这样,如果删除是误操作,你可以通过修改有效/无效列很容易恢复它。

(2)插入操作,当增加一行时,可以在一个特定的列中标记准确的插入日期和时间。如果后来认为是错误插入,可以很快通过找到特定时间范围内添加的所有行,并且删除它们。

(3)更新操作,通常用一个单独的表来保存事务所要更新的数据。如果出错,可以回到事务表中来找到数据修改之前和之后的值,并且用来撤销之前的任何错误。


二、插入数据

每个表默认有一个自增型的数字(主键),可以不为这行指定数值,插入时只要提供其它字段的值:

1. 插入指定数据

INSERT INTO Customers

(FirstName, LastName, State)

VALUES

('Virginia', 'Jones', 'OH'),

('Clark', 'Woodland', 'CA')


针对本例,Oracle不允许在VALUES后面指定多个行,所以要分开两条语句

顺序方面,VALUES后面的记录的每个字段只需要和INSERT INTO后面的columnlist中所列出的顺序相对应。

列的防止顺序不重要。FirstName, LastName

### 使用HeidiSQL进行数据批量修改 HeidiSQL 是一款强大的开源数据库管理工具,提供了直观的操作界面和丰富的功能来简化数据库操作[^1]。通过该工具可以轻松实现数据的批量修改。 #### 方法一:利用 SQL 查询窗口执行批处理命令 HeidiSQL 提供了一个内置的 SQL 查询窗口,允许用户编写自定义的 SQL 脚本来完成复杂的任务,比如批量修改数据。以下是具体步骤: 1. **打开目标数据库连接** 启动 HeidiSQL 并建立与所需数据库的连接。 2. **进入 SQL 查询窗口** 在左侧导航栏中选中要操作的数据表,右键单击并选择“Edit table data (Query)”选项。 3. **编写 SQL 修改脚本** 借助 `UPDATE` 语句可一次性更改多条记录的内容。例如,假设有一个名为 `users` 的表,其中包含字段 `id`, `name`, 和 `age`,现在需要将所有年龄大于等于 30 的用户的名称更改为 “Senior”。可以通过如下 SQL 实现: ```sql UPDATE users SET name = 'Senior' WHERE age >= 30; ``` 4. **运行脚本** 将上述 SQL 语句粘贴至查询窗口内,点击执行按钮即可生效。 #### 方法二:借助导出/导入 CSV 功能间接达成目的 另一种方式是先将待调整的数据导出成外部文件,在本地编辑后再重新加载回数据库中覆盖原始资料。 1. **导出当前表内容为 CSV 文件** 右键点击对应表格名 -> Export data as... -> Select format as CSV. 2. **手动修正 CSV 文档内的数值** 3. **清空原表并将新版本上传回去** 删除旧版记录前务必好充分备份以防万一丢失重要信息。 - 清理指令样例:`TRUNCATE TABLE users;` - 导入更新后的 csv : Tools->Import CSV file... 注意不同类型的 DBMS 对某些特殊字符的支持程度可能有所差异,请参照官方手册确认兼容情况[^3]. ```sql -- 示例代码展示如何使用 CASE WHEN 结构条件判断下的值替换 UPDATE products SET category = CASE price WHEN BETWEEN 0 AND 5 THEN 'Cheap' WHEN BETWEEN 6 AND 10 THEN 'Affordable' ELSE 'Expensive' END; ``` 以上就是关于怎样运用 Heidisql 来实施大规模数据修订的一些技巧分享。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值