上一篇所讲的数据表的创建 ,只是简单勾勒了表的框架,这一篇,就来讲讲,如何在数据表中插入数据,下篇讲 如何修改和删除数据。
一、插入
-
单行插入
有两种形式:
INSERT INTO 表名 VALUES (值列表);
INSERT INTO 表名 SET 字段名1=值1[字段名2=值2...];
-
多行插入
INSERT INTO
VALUES (值列表1),...,(值列表n);
看到这里(自己都想一个右划),你眉头一紧,什么值列表,啥啥啥,看不懂一点,烂文!
此时 本趴菜按住你蠢蠢欲动的肩膀(不要逼我挽留你)轻轻俯在你的耳边:
“白慌,让我们来举个栗子”
首先,在插入数据之前我们要先查看表的结构:使用 DESC 表名;进行查看,在这里我们使用学生信息表(stuinfo),需要插入的数据如下图:
使用 单行插入的代码如下:
INSERT INTO stuinfo
VALUES('S001','刘卫平','男','1994-10-16','衡山市东风路78号');
INSERT INTO stuinfo
VALUES ('S002','张卫民','男','1995-5-1',default);
INSERT INTO stuinfo(stuno,stuname)VALUES ('S003','马东');
多行插入的代码 如下:
INSERT INTO
stuinfo(stuno,stuname,stusex,stubirthday,stuaddress)
VALUES ('S001','刘卫平','男','1994-10-16','衡山市东风路78号'),
('S002','张卫民','男','1995-5-1',default),
('S003','马东');
相比较之下 是不是觉得多行插入更好一些?
有些数据插入时必须有引号,而有些则不需要;有些数据可以省略,而有些则是不可缺少的。详情,本趴菜放下面了:
⚠️
- 字段列表中字段之间的分隔符,以及值列表中值之间的分隔符均为英文逗号。
- VALUES子句提供的值列表要与字段列表一一对应,表示给新记录的相关字段赋值。
- (字段列表)是可选项,如果省略,则VALUES子句要按顺序给每个字段提供值。
- 数值列表中字符、日期型的数据要加单引号或双引号。
- 自动增长列写成NULL或DEFAULT均可。
- 默认列可以写成DEFAULT。
- 记录要整条插入,没有提供值的字段不是默认值就是NULL。
- 插入的数据必须满足表中定义的完整性约束条件!
✧先插入父表记录, 再插入子表的相关记录,子表外键的取值必须参考父表主键的取值,当外键不是主属性时,可以取空值。
✧有唯一约束的列, 其取值不能重复。
✧有非空约束的列, 其取值不能为空值。
下篇见喽~