一、数据操作语言
1、DML
DML(Data Manipulate Language 数据操纵语言)可以在下列条件下执行:
(1)向表中插入数据
(2)修改现存数据
(3)删除现存数据
2、事务是由完成若干项的 DML 语句组成的。
二、insert 插入语句
1、两种语法格式
(1)方式一
1 2 | insert into 表名(列名 1 ,...) values(值 1 ,...); |
使用这种语法一次只能向表中插入一条数据。
(2)方式二
1 2 | insert into 表名 set 列名=值, 列名=值,... |
2、方式一案例
(1)插入的值的类型要与列的类型一致或兼容
1 2 | INSERT INTO beauty(id, NAME , sex, borndate, phone, photo, boyfriend_id) VALUES (13, '唐艺昕' , '女' , '1990-4-23' , '1898888888' , NULL , 2); |
(2)向表中插入空值
① 隐式方式:在列名表中省略该列的值
1 2 | INSERT INTO beauty(id, NAME , sex, borndate, phone, boyfriend_id) VALUES (13, '金星' , '女' , '1990-4-23' , '1898888888' , 9); |
② 显示方式:在 values 子句中指定空值
1 2 | INSERT INTO beauty(id, NAME , sex, borndate, phone, photo, boyfriend_id) VALUES (14, '唐艺昕' , '女' , '1990-4-23' , '1898888888' , NULL , 2); |
(3)列的顺序可以调换,但插入的值与字段名要一一对应
1 2 | INSERT INTO beauty( NAME , sex ,id, phone) VALUES ( '蒋欣' , '女' , 15, '110' ); |
(4)列数和值的个数必须一致,一一对应
1 2 | INSERT INTO beauty( NAME , sex ,id, phone, boyfriend_id) VALUES ( '关晓彤' , '女' , 16, '110' ); |
(5)可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
1 2 | INSERT INTO beauty VALUES (17, '蔡文姬' , '女' , NULL , '119' , NULL , NULL ); |
3、方式二案例
(1)插入新数据
1 2 | INSERT INTO beauty SET id = 19, NAME = '刘涛' , phone = '999' ; |
4、两种方式的对比
(1)方式一支持插入多行,方式二不支持
Demo:
1 2 3 4 | INSERT INTO beauty VALUES (21, '唐艺昕1' , '女' , '1990-4-23' , '1898888888' , NULL , 2), (22, '唐艺昕2' , '女' , '1990-4-23' , '1898888888' , NULL , 2), (23, '唐艺昕3' , '女' , '1990-4-23' , '1898888888' , NULL , 2); |
(2)方式一支持子查询,方式二不支持
Demo:
1 2 3 4 5 6 | INSERT INTO beauty(id, NAME , phone) SELECT 26, '宋茜' , '1180966' ; INSERT INTO beauty(id, NAME , phone) SELECT id, bodyname, '1833187' FROM boys WHERE id > 30; |
此时不必书写 values 子句;
子查询中的值列表应与 insert 子句中的列名对应。
5、其他注意点
① 字符和日期型数据应包含在单引号中;
② values 里面的值要去字段列名一一对应;
③ 可以使用函数;
④ 要求值的类型和字段的类型要一致或兼容;
⑤ 字段名可以省略,默认所有列,字段和值的个数必须一致;
⑥ 字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
2019-06-23 15HTML5新增文本标签
2019-06-23 00HTML【目录】
2019-06-23 16HTML5表单新增内容
2019-06-23 18HTML5多媒体标签
2019-06-23 12HTML注释与特殊字符
2019-06-23 11HTML表单
2019-06-23 10HTML表格