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

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

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,忽略存在的数据,就可以添加不重复的记录。

这里以前面新建的 teacher 表为例, teacher 表的字段为 name、age、id_number,向教师表新增一条数据命令如下:

执行下上面的这条命令,执行结果如下图:

其中 “INSERT INTO” 关键字表示这条命令是插入数据命令,“teacher” 是要插入数据的目标数据表名称,“name,age,id_number” 是表的字段名,“VALUES” 后面跟的是字段对应的值,值的顺序和前面字段的顺序一致。

上面介绍了如何向数据表插入一条数据,这里需要查看数据表已有的所有数据:

执行结果如下图:

“SELECT” 关键字表示这条命令是查询相关命令,"*" 则代表要查询出表中所有的数据。“FROM teacher” 则表明要查询的是哪一个数据表。

关于 SELECT 查询语句还有很多中使用场景,比如我们要查询出表中 age 字段的值大于 20 岁的数据。关于 SELECT 的其他使用我们会在后面的小节详细讲解。

新增多条数据命令:

执行结果如下图:

本小节介绍了如图向数据表插入一条数据、查询表所有数据、向表插入多条数据。前面介绍数据表的设计规范时介绍了数据表的第二设计范式要求所有数据表需要有业务主键。需要注意的是本节中 teacher 表的业务主键为自增 id,因此插入数据的时候不需要插入 id 字段的值。id 字段的默认是从 1 开始自增的,也可以指定自增起始值,如下建表语句,id自增值是从100开始的:

其中 “AUTO_INCREMENT=100” 表示自增主键 id 的值默认从 100 开始自增加的。

insert插入数据有以下几种方式

其中insert into是标准语法,insert是mysql简化后的语法,一般推荐使用insert into。

格式如下

insert into 表名 value (值列表)-- 插入一条信息

insert into 表名(属性列表)value(值列表)-- 插入一条数据,值列表要和属性列表一一对应

insert into 表名 (属性列表)values (值列表),(值列表),(值列表)......-- 在指定列插入多条数据,值列表和属性列表一一对应

insert into 表名 values (值列表),(值列表),(值列表)......-- 在所有列插入多条数据,值列表和表结构相符。

insert into 表名 set 列名=属性名,列名=属性名...

insert into wx_student value (null,'lili2',1313455668,22,'郑州',10)

insert into wx_student(sno,sname) value (null,'lili2')

insert into wx_student(sno,sname) values (null,'lili3'),(null,'lili4'),(null,'lili5')

insert into wx_student values (null,'lili6',1313455611,22,'郑州',10),(null,'lili7',1313455622,22,'郑州',10),

(null,'lili8',1313455633,22,'郑州',10)

insert into wx_student set sname='李四',sphone='1911412512'

登录后复制

load

load从文件中加载数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11750424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存