SQL中的DML语句


DML是对表中的数据进行增、删、改的操作。主要包括:INSERT 、UPDATE、 DELETE
在mysql中,字符串类型和日期类型都要用单引号括起来。
空值:null

插入操作:INSERT

语法格式:
insert into 表名(列名) values(数据值);

insert into student(stuname,stuage,stusex,birthday) values('张三1',18,'a','2000-1-1'); 
或:
insert into student values('张三1',18,'a','2000-1-1');

注意:
1.多列和多个列值之间使用逗号隔开
2.列名要和列值一一对应
3.非数值的列值两侧需要加单引号

同时添加多行:
insert into 表名(列名) values(第一行数据),(第二行数据),(),();

insert into student(stuname,stuage,stusex,birthday)
values('张三3',18,'a','2000-1-1'),
('张三4',18,'a','2000-1-1'),
('张三5',18,'a','2000-1-1'),
('张三6',18,'a','2000-1-1'),
('张三7',18,'a','2000-1-1'),
('张三8',18,'a','2000-1-1');

注意
1.列名与列值的类型、个数、顺序要一一对应。
2.参数值不要超出列定义的长度。
3.如果插入空值,使用null
4.插入的日期和字符一样,都使用引号括起来。

修改(更新)操作:UPDATE

语法格式:
UPDATE 表名 SET 列名1=列值1,列名2=列值2 … WHERE 列名=值
注意: WHERE 后面表示 列名=值 所在的这一行。
承接上面的代码片:

将所有学生年龄修改为15。
UPDATE student SET stuage=15;

将姓名为’张三4’的同学年龄修改为16:
UPDATE student SET stuage=16 WHERE stuname='张三4';

删除操作:DELETE

语法 :
DELETE from 表名 [WHERE 列名=值];

删除表中名称为’张三4’的记录。
DELETE FROM student where stuname='张三4';

使用truncate删除表中记录。
TRUNCATE TABLE student;

注意

  • DELETE 删除表中的数据,表结构还在;删除后的数据可以找回
  • TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。
<think>好的,用户想了解SQLDML语句的定义和类型,包括操作和用法。首先,我需要回忆一下DML的基本概念,确保自己理解正确。根据参考资料,DML是数据操作语言,用于处理数据库中的数据,比如插入、更新、删除和查询。而DDL是定义结构的,这点要区分开。 接下来,我需要整理用户的问题。用户可能想知道DML具体包含哪些操作,每个操作的语法和用途。根据提供的引用,DML包括INSERT、UPDATE、DELETE,可能还有SELECT。但要注意,有些资料可能把SELECT归为DQL,但根据引用3,DML确实包括查询数据,所以需要明确说明这一点。 然后,我需要检查每个操作的具体语法。比如INSERT的两种写法:带列名和不带列名。要举例说明,并提到注意事项,比如列和值的数量匹配。UPDATE语句需要WHERE子句,否则会更新全部数据,这可能是一个常见错误点。DELETE同样需要注意WHERE条件,避免误删。 另外,用户可能想知道DML和DDL的区别,虽然问题没直接问,但可以简要提及,帮助用户更好理解。比如DDL是CREATE、ALTER等,而DML是操作数据。 还需要考虑用户的实际应用场景,比如他们可能在写数据库操作时需要使用这些语句,所以给出实际例子会更有帮助。例如,插入数据到用户表,更新某个记录,删除符合条件的数据等。 最后,生成相关问题时,要覆盖DML的其他方面,比如与事务的关系、性能影响、与DDL的区别,以及实际应用中的例子。这些问题可以帮助用户进一步深入学习。 确保所有行内数学表达式使用$...$,虽然这里可能用不上,但如果有公式的话要注意。独立公式用$$...$$,但DML相关的内容可能不需要数学表达式,所以这部分可能不涉及。语法正确,用中文回答,结构清晰。 总结回答的结构:先定义DML,然后列出每个操作,给出语法和示例,最后对比DDL,生成相关问题。</think>### SQL DML语句的定义与类型 **DML(数据操作语言)** 是用于操作数据库中数据的SQL语句集合,主要功能包括插入、更新、删除和查询数据[^3]。以下是DML的核心操作及其用法: --- #### 1. **插入数据(INSERT)** - **用途**:向表中添加新记录。 - **语法**: ```sql -- 指定列名插入 INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); -- 省略列名(需按表结构顺序填充所有列) INSERT INTO 表名 VALUES (值1, 值2, ...); ``` - **示例**: ```sql INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25); ``` - **注意**:未指定的列需允许为NULL或有默认值[^2]。 --- #### 2. **更新数据(UPDATE)** - **用途**:修改表中现有记录。 - **语法**: ```sql UPDATE 表名 SET 列1=新值1, 列2=新值2, ... [WHERE 条件]; ``` - **示例**: ```sql UPDATE users SET age=26 WHERE name='Alice'; ``` - **注意**:省略`WHERE`子句会更新整张表。 --- #### 3. **删除数据(DELETE)** - **用途**:从表中移除记录。 - **语法**: ```sql DELETE FROM 表名 [WHERE 条件]; ``` - **示例**: ```sql DELETE FROM users WHERE age > 30; ``` - **注意**:无`WHERE`子句会清空整个表。 --- #### 4. **查询数据(SELECT)** - **用途**:检索表中的数据。 - **语法**: ```sql SELECT 列1, 列2, ... FROM 表名 [WHERE 条件]; ``` - **示例**: ```sql SELECT name, age FROM users WHERE id=1; ``` --- ### DML与DDL的区别 - **DML**:操作数据(增删改查),需事务控制(如`COMMIT`/`ROLLBACK`)。 - **DDL**:定义结构(如`CREATE TABLE`、`ALTER`),隐式提交事务[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值