Mysql之增加数据

1、插入数据时,如果主键冲突会如何?

默认有主键约束,不会插入成功。但是可以在主键冲突时,改成执行更新操作。

insert into teacher_class(id,t_name,gender) VALUES (9,'jing','female') on DUPLICATE key update t_name='jing',gender='female';


2、插入的数据源

除了使用自定义数据外,还可以是使用select语句查询到数据,作为插入的数据源。

数据可以来源于其他数据表,要求,字段数量和类型一致即可。

示例一:

mysql> insert into teacher_class(t_name,gender,room) select t_name,gender,room from teacher_class;

结果图:


示例2:


把teacher表中的t_name,class_name插入到teacher_class的t_name,room中去。

insert into teacher_class(t_name,room) select t_name,class_name from teacher;



3、replace关键字

表:


replace into teacher values(1,'jing','jing',25);


replace:如果存在,则修改;如果不存在,则增加。

4、更强大的功能--从外部导入数据(Load data infile)

Load data infile导入的是通过into outfile导出的数据

(因为表的第一个字段是自增长的,所以我们 select时,第一个字段置为null,然后导出到服务器中,这样再导入时,就不会有主键冲突,且会自动增长)

下面是导出数据





下面是导入操作:

mysql> load data infile 'f:/mysql/test/seven' into table teacher;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Henry_Jing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值