用insert语句添加数据,insert增加语句

http://www.itjxue.com  2023-01-20 00:47  来源:未知  点击次数: 

insert into语句是什么?

insert into语句就是向表中添加数据,其简单语法形式为:Insert into 表名[(列名[,列名]...)] values(值 [,值],...)。

Values 后面的值的排列要与into子句后面的列名排列一致,若表名后面的所有列名省略,则values后的值的排列要与该表中存储的列名排列一致,“[]”表示其中的内容可省略。

语句形式为:SELECT vale1, value2 into Table2 from Table1,要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

相关写法如下:

写法1:INSERT INTO t1(field1,field2) VALUE(v001,v002);

写法2:INSERT INTO t1(field,field2) VALUES(v101,v102)(v201,v202)(v301,v302)(v401,v402);

写法3:INSERT INTO t2(field1,field2) SELECT col1,col2 FROM t1 WHERE。

SQL~用insert语句添加数据不能和已有的重复

INSERT INTO persion_results( PName , Dossol , LJID , Ptype , PWorker , StartTime , FinishTime1 , scoreTime , Availability , RLineStr , ReDate , ReTime , C_ID ) SELECT PName , Dossol , LJID , Ptype , PWorker , StartTime , FinishTime1 , scoreTime , Availability , RLineStr , ReDate , ReTime , C_ID FROM temp_persion_results WHERE LJID NOT IN (SELECT LJID FROM persion_results)

select 1 from temp_persion_results where temp_persion_results.LJID='00052'

还有更简单的方法:先在插入表中创建唯一索引,可以是一个字段,也可以是多个字段聚合。在插入语句中使用insert ignore into,忽略存在的数据,就可以添加不重复的记录。

一条insert语句批量插入多条记录

01

首先我们的测试表是一条数据都没有的。

02

要用一条数据就插入多条数据,我们也是可以用insert into语句来处理的,我们只要在values里指定多条记录的值就行了,每条记录间用逗号来隔开就行。代码如图

03

执行这条语句后,我们从执行结果上看,也可以看到插入了三条数据。

04

再看到这个表里的数据,看是不是插入了三条新的数据。

从图中可以看到,确实有3条数据。

2020-07-07insert into:插入数据

执行以下sql语句 一共有四张表,作为练习使用

--?创建?teach?库

create?database?if?not?exists?teach?default?charset?utf8mb4?COLLATE?utf8mb4_unicode_ci;use?teach;

--?新建学生表

create?table?student(????sid??????int?auto_increment?comment?'学生ID',????primary?key?(sid),????sname????varchar(20)????????????not?null?comment?'学生姓名',????birthday?date???????????????????null?comment?'学生生日',????sex??????varchar(3)?default?'男'?null?comment?'学生性别')?comment?'学生表';

--?新建老师表

create?table?teacher(????tid???int?auto_increment?comment?'老师ID',????tname?varchar(10)?not?null?comment?'老师名字',????PRIMARY?KEY?(tid))?comment?'老师表';

--?新建成绩表

create?table?sc(????id????int?auto_increment?comment?'成绩ID',????sid???int?comment?'学生ID',????cid???int?comment?'课程ID',????score?decimal(4,?1)?comment?'分数',????PRIMARY?KEY?(id))?comment?'成绩表';

--?新建课程表

create?table?course(????cid???int?auto_increment?comment?'课程ID',????cname?varchar(10)?comment?'课程名字',????tid???varchar(10)?comment?'老师id',????PRIMARY?KEY?(cid))?comment?'课程表';

语法

方式1: 注意列名和值的顺序要一 一对应

INSERT?INTO??表名??(?列名1??,?列名2?,?…??列名n?)VALUES?(值1,值2,…?,?值n);

方式二: 要插入的数据的列名在 SET 子句中指定,等号前面 为指定的列名,等号后面为指定的数据,而对于未指定的列,列值会指定为该列的默认值。

INSERT?INTO??表名?SET??列名1??=??值1?,?????列名2??=??值2?,?????...;

方式三: INSERT 语句中没有指定插入列名,只有一个值列表。在这种情况下,值列表为每一个字段列指定插入的值,并且这些值的顺序必须和 表中字段定义的顺序相同。

INSERT?INTO??表名??values?(值1,值2,....);

语法:

只需要在增加多个值列表即可,值列表之间用,分隔开

INSERT?INTO??表名??(?列名1??,?列名2?,?…??列名n?)VALUES?(值1,值2,…?,?值n),(值1,值2,…?,?值n),...(值1,值2,…?,?值n);

插入一条学生数据('赵雷' , '1990-01-01' , '男')

insert?into?student?(?sname,?birthday,?sex)?values?('赵雷'?,?'1990-01-01'?,?'男');

插入一条学生数据 (2 , '钱电' , '1990-12-21' , '男'),这次包含id

insert?into?student?values?(2?,?'钱电'?,?'1990-12-21'?,?'男');

插入一条学生数据: '孙风' , '1990-12-20' , '男'

insert?into?student?set?sname='孙风',birthday='1990-12-21',sex='男';

批量插入如下数据

('04'?,?'李云'?,?'1990-12-06'?,?'男')('05'?,?'周梅'?,?'1991-12-01'?,?'女')('06'?,?'吴兰'?,?'1992-01-01'?,?'女')('07'?,?'郑竹'?,?'1989-01-01'?,?'女')('09'?,?'张三'?,?'2017-12-20'?,?'女')('10'?,?'李四'?,?'2017-12-25'?,?'女')('11'?,?'李四'?,?'2012-06-06'?,?'女')('12'?,?'赵六'?,?'2013-06-13'?,?'女')('13'?,?'孙七'?,?'2014-06-01'?,?'女')

sql语句:

insert?into?student?values('04'?,?'李云'?,?'1990-12-06'?,?'男'),('05'?,?'周梅'?,?'1991-12-01'?,?'女'),('06'?,?'吴兰'?,?'1992-01-01'?,?'女'),('07'?,?'郑竹'?,?'1989-01-01'?,?'女'),('09'?,?'张三'?,?'2017-12-20'?,?'女'),('10'?,?'李四'?,?'2017-12-25'?,?'女'),('11'?,?'李四'?,?'2012-06-06'?,?'女'),('12'?,?'赵六'?,?'2013-06-13'?,?'女'),('13'?,?'孙七'?,?'2014-06-01'?,?'女');

掌握insert into 语法?

可以插入 单条或多条 数据

1、给teacher 表中插入如下数据

('01'?,?'张三'),('02'?,?'李四'),('03'?,?'王五')

2、给course表中插入如下数据

('01'?,?'语文'?,?'02'),('02'?,?'数学'?,?'01'),('03'?,?'英语'?,?'03')

3、给sc表中插入如下数据

('1','01'?,?'01'?,?80),('2','01'?,?'02'?,?90),('3','01'?,?'03'?,?99),('4','02'?,?'01'?,?70),('5','02'?,?'02'?,?60),('6','02'?,?'03'?,?80),('7','03'?,?'01'?,?80),('8','03'?,?'02'?,?80),('9','03'?,?'03'?,?80),('10','04'?,?'01'?,?50),('11','04'?,?'02'?,?30),('12','04'?,?'03'?,?20),('13','05'?,?'01'?,?76),('14','05'?,?'02'?,?87),('15','06'?,?'01'?,?31),('16','06'?,?'03'?,?34),('17','07'?,?'02'?,?89),('18','07'?,?'03'?,?98)

4、给学生表插入单条数据: '孙七七' , '2014-06-01' , '女'

5、给学生表插入单条数据: '孙九九' , '2014-06-01' , '男',使用set子句

解答

1、insert into teachervalues ('01','张三'),('02','李四'),('03','王五');

2、insert into coursevalues ('01','语文','02'),('02','数学','01'),('03','英语','03');

3、insert into scvalues ('1','01' , '01' , 80),('2','01' , '02' , 90),('3','01' , '03' , 99),('4','02' , '01' , 70),('5','02' , '02' , 60),('6','02' , '03' , 80),('7','03' , '01' , 80),('8','03' , '02' , 80),('9','03' , '03' , 80),('10','04' , '01' , 50),('11','04' , '02' , 30),('12','04' , '03' , 20),('13','05' , '01' , 76),('14','05' , '02' , 87),('15','06' , '01' , 31),('16','06' , '03' , 34),('17','07' , '02' , 89),('18','07' , '03' , 98);

4、insert into student (sname,birthday,sex)value ('孙七七','2014-06-01','女');

5、insert into studentset sname='孙九九',birthday='2014-06-01',sex='男';

(责任编辑:IT教学网)

更多

推荐计算机等级考试文章