【MySQL小白之路】数据的插入

【MySQL小白之路】数据的插入

关键字:INSERT

插入方式:
1.简单插入
2.指定插入
3.多行插入
4.查询结果插入

简单插入

所需信息:1.表名 2.插入值

样例:

/*
**	以下为表的定义:
**	student表
**	stu_id		int			NOT NULL	PRIMARY KEY,
**	stu_name	char(50)	NOT NULL,
**	stu_mail	char(50)	NULL
*/

INSERT INTO student
VALUES(
	1,			#stu_id值
    '张三',		#stu_name值
    NULL		#stu_mail值
);

样例分析:

表名跟于INSERT INTO关键字后,数据跟于VALUES关键字后的括号内。注意:数据的顺序对应表列的定义顺序,不可交换且不可缺少;若一列设置了自动增量AUTO_INCREMENT,其值应为NULL保证正常增量;该方式灵活性不足,依赖于表列的定义顺序,若表进行了更新,可能会出现安全隐患,不建议使用

指定插入

所需信息:1.表名与表列名 2.插入值

样例:

/*
**	以下为表的定义:
**	student表
**	stu_id		int			NOT NULL	PRIMARY KEY,
**	stu_name	char(50)	NOT NULL,
**	stu_mail	char(50)	NULL
*/

INSERT INTO student(
    stu_name,
    stu_id
) VALUES (
    '张三',		#stu_name值
    1			#stu_id值
);

样例分析:

同简单插入相比,指定插入指定了要插入的表列,表中其他未指定的表将被省略。数据顺序不再为表列的定义顺序,而是指定顺序。
提示:若指定该表的所有表列,则效果等同于简单插入,但灵活性高,故常用该方式进行插入。
注意:
表列可被省略必需满足以下条件之一:
1.该列被定义为允许空值NULL
2.该列存在一个默认值

多行插入

所需信息:1.表名与表列名 2.每行的插入值

样例:

/*
**	以下为表的定义:
**	student表
**	stu_id		int			NOT NULL	PRIMARY KEY,
**	stu_name	char(50)	NOT NULL,
**	stu_mail	char(50)	NULL
*/

INSERT INTO student(
	stu_id,
    stu_name
) VALUES (
	1,
    '张三'
),VALUES (
	2,
	'李四'
),VALUES (
	3,
    '王五'
);

样例分析:

多行插入,每行位于一个VALUES关键字中,每个关键字以逗号分隔。

查询结果插入

主要用途:导入数据

样例:

/*
**	以下为表的定义:
**	student表
**	stu_id		int			NOT NULL	PRIMARY KEY,
**	stu_name	char(50)	NOT NULL,
**	stu_mail	char(50)	NULL
*/

INSERT INTO student(
	stu_id,
    stu_name,
    stu_mail
)
SELECT
	stu_id,		#stunew的stu_id
	stu_name,	#stunew的stu_name
	stu_mail	#stunew的stu_mail
FROM
	stunew;		#一张拥有stu_id, stu_name, stu_mail列的表

样例分析:

将stunew表中的stu_id, stu_name, stu_mail列的数据插入到student表中。选择列的先后顺序与指定列的循序必须一一对应,否则插入将错位。

注意:插入行的主键不能在被插入的表中出现,否则插入冲突,插入失败。

提示:SELECT语句独立于INSERT语句

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霖行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值