Mysql-05-02_Insert,update,delete详解

插入和更新、删除详解

1.Insert

a) 基本插入

i. insert into student(name,age) values(‘Jack’,22);

ii. 也可以在插入语句中使用set关键字:Insert into student set name=Jack,name=22; 

iii. 多条数据插入(用括号隔开每条记录):

Insert into student(name,age) values

(‘john’,24),

(‘lily’,25),

(‘lucy’,25)

;

b) 插入时主键冲突(例如插入下面数据时数据库中已经存在主键为的记录,则更新之)

Insert into student(id,name,age) values(2,’lily’,23)

On duplicate key update

Name=’lily’,age=23;

c) 使用select的结果作为插入的数据源

Insert into student(name, age) select name, age from student;

d) Replace语法

插入时如果有主键或唯一索引冲突失败,还可以使用replace来代替insert。 

Replace into student values(1,’Jack’,24);

 

 

2.Delete

a) mysqldelete操作也可以使用limit关键字

b) Limit配合order by来使用,先将结果排序,再删除固定数量的记录(单独使用order by而不limit的话无意义,还是删除全部)

Delete from student order by id limit 10;

c) 允许连接删除(使用join语法同时删除多个表中的记录。使用不多。),语法: delete from 需要删除数据多表1,表2  using 表连接操作[1 join 2 on ...]  条件[where ...]

例: delete from one, two using one join two on one.id=two.id where one.name=John;

d) 清空表  truncate 表名;  重建自动增长的主键。实际上是先删除表,又新建表。

 

 

3.Update

a) 也可以使用order by, limit, where语法

b) 也支持多表同时更新

Update one join two on one.id=two.id set one.data=data1, two.data=data2 where one.id=3;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值