MySQL中DML操作(九)

MySQL中DML操作(九)

DML语言是操作数据的语言

一、添加数据(INSERT)

1.1 选择插入

INSERT INTO 表名(列名 1 ,列名 2 ,列名

3.....) VALUES(值 1 ,值 2 ,值 3......);

1.2 完成插入

INSERT INTO 表名 VALUES(值 1 ,值 2 ,值

3......);

​ 如果主键是自动增长,需要使用 default 或者 null 或者 0 占位。

二、默认值处理(DEFAULT)

在 MySQL 中可以使用 DEFAULT 为列设定一个默认值。如果在插入数据时并未指定该列的值,那么 MySQL 会将默认值添加到该列中。

2.1 创建表时指定列的默认值

CREATE TABLE 表名(列名 类型 default 默认

值,......);

2.2 修改表添加新列并指定默认值

ALTER TABLE 表名 ADD COLUMN 列名 类型 DEFAULT

默认值;

2.3 插入数据时的默认值处理

如果在插入数据时并未指定该列的值,那么MySQL 会将默认值添加到该列中。如果是 完全项插入需要使用 default 占位。

三、更新数据(UPDATE)

UPDATE 表名 SET 列名=值,列名=值 WHERE 条件;

更新语句中一定要给定更新条件,否则表中的所有数据都会被更新。

四、删除数据(DELETE)

DELETE FROM 表名 WHERE 条件;

在DELETE语句中,如果没有给定删除条件则会删除表中的所有数据。

五、TRUNCATE清空表

TRUNCATE TABLE 表名;

六、清空表时DELETE TRUNCATE 区别

  1. truncate 是整体删除(速度较快), delete 是逐条删除(速度较慢);

  2. truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete 高的原因;

  3. truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从 1 开始记录,而 不是接着原来的值。而 delete 删除以后, 自增值仍然会继续累加。

相关推荐
Leon-Ning Liu1 分钟前
Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)
数据库·oracle
步行cgn3 分钟前
Spring 注入 null 和空字符串详解
数据库·spring·oracle
worilb5 分钟前
Win下使用同一套MySQL创建第二个独立实例
mysql
Allen_LVyingbo11 分钟前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化
草莓熊Lotso19 分钟前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
YangYang9YangYan35 分钟前
2026 校招市场数据分析 JD 拆解,SQL 要求、工具与面试考点
数据库·人工智能·数据分析
风哥2号44 分钟前
数据库教程FGMT40‑MySQL性能优化之性能基准测试
数据库·mysql
苍梧问道1 小时前
SQL Server阻塞与死锁排查实战:从DMV到根因分析
数据库
shirsl1 小时前
数据开发每日面试题 Day 5
大数据·数据库·sql·big data
葡萄成熟时 !1 小时前
MySQL 全套学习笔记(JDBC+连接池)
mysql