声明:此MySQL基础学习源自尚硅谷。(推荐)b站官方链接:https://www.bilibili.com/video/BV1xW411u7ax?p=1
| 数据操作语言: |
| 插入:insert |
| 修改:update |
| 删除:delete |
1.插入语句
方式一:经典的插入
| 语法: |
| insert into 表名(列名,...) values(值1,...); |
特点:
| 1、字段类型和值类型一致或兼容,而且一一对应 |
| 2、可以为空的字段,可以不用插入值,或用null填充 |
| 3、不可以为空的字段,必须插入值 |
| 4、字段个数和值的个数必须一致 |
| 5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致 |
| 6、字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应 |
| 7、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值 |
| ①字段和值都省略 |
| ②字段写上,值使用null |
1.插入的值的类型要与列的类型一致或兼容
| INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) |
| VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2); |
2.不可以为null的列必须插入值。可以为null的列如何插入值?
方式一:有列名,值为null
| INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) |
| VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2); |
方式二:无列名,无值
| INSERT INTO beauty(id,NAME,sex,phone) |
| VALUES(15,'娜扎','女','1388888888'); |
3.列的顺序是否可以调换:列位置可以颠倒,但列对应的值,要与列位置一一对应
| INSERT INTO beauty(NAME,sex,id,phone) |
| VALUES('蒋欣','女',16,'110'); |
4.列数和值的个数必须一致
| INSERT INTO beauty(NAME,sex,id,phone) |
| VALUES('关晓彤','女',17,'110'); |
5.可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
| INSERT INTO beauty |
| VALUES(18,'张飞','男',NULL,'119',NULL,NULL); |
方式二:
| 语法: |
| insert into 表名 |
| set 列名=值,列名=值,... |
| INSERT INTO beauty |
| SET id=19,NAME='刘涛',phone='999'; |
两种方式大Pk
1、方式一支持插入多行,方式二不支持
| insert into 表名【(字段名,..)】 values(值,..),(值,...),...; |
| INSERT INTO beauty |
| VALUES(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2) |
| ,(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2) |
| ,(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2); |
2、方式一支持子查询,方式二不支持
| INSERT INTO beauty(id,NAME,phone) |
| SELECT 26,'宋茜','11809866'; |
| |
| INSERT INTO beauty(id,NAME,phone) |
| SELECT id,boyname,'1234567' |
| FROM boys WHERE id<3; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步