CRUD进阶
来源:互联网 发布:淘宝交易量查询 编辑:程序博客网 时间:2024/04/29 19:25
create table tb(
id int primary key auto_increment,
name varchar(5),
age int );
1.各种数据增加方法
上面表中,name和age都可以为空,则在插入语句时可以有如下选择:
insert into tb values ( null,”name”, 3); //id值为null,主键会自动增加,全值插入,不需要写前面内容。
insert into tb (id) values ( 2);
insert into tb (id, name) values (3, “hi”);
insert into tb (id, name) values (4, “hi”), values(3, “more”); //一次性插入多条数据。
insert into tb set id=5; //set 的语法不常用
insert into tb set id=6, name=“hello”;
2.当主键冲突时,可选执行更新。
注意这个冲突primary key,unique key的更新操作,update后面没有set
insert into tb values(6, name=“high”,3) on duplicate keyupdate name=“high”, age=3;
3.子查询结果插入
用下面这个语句,可以将另外一张表中得部分数据取出放入一个新表。
insert into tb(name, age) select name, age from tb; //从自己表中复制 蠕虫复制
insert into tb1(name, age) select name, age from tb2 //从别的表中复制
4.default
insert into tb values(default, “high”, default); //主键的default是自动+1, age的default是NULL
insert into tb values(default, “high”, default(age));
5.replace
replace into tb(5, “replace name”, 3); //如果存在主键id 5,则替换,否则插入
replace into tb(null, “replace name”, 3); //自动增加
replace into tb(default, “replace name”, 3); //自动增加
6.删除数据
delete from tb order by id limit 10;删除最小的10个id的数据。
用连接的语法同时删除连接的两个表的数据。可以替代外键的on delete cascade功能。
delete from one, two using one join two on one.id=two.id where one.id=2;
delete from one, two using one join twowhere one.id=two.idand one.id=2;
7.删除数据 truncate
truncate table_name; //将整个表直接删除,然后再新建一个表。这样主键id信息不会被保留。
而delete from tb_name;//主键id,会保留,再添加时,会延续被删除数据的值。
8.更新数据
mysql> update one set name="ok" where id<4; //更新所有id小于4的值
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> update one set name="2" where id<4limit 2; //只更新前两个
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
update one set name="2" where id<4order by name limit 2;
9.连接更新
update one join two on one.id=two.id set one.name="new", two.name="two";
delete from one, two using one join two where one.id=two.id and one.id=2;
<完>
- CRUD进阶
- JAVA-JDBC完成CRUD的操作进阶
- Ruby操作MongoDB(进阶二)-CRUD操作
- Activiti进阶(三)——流程定义的CRUD
- Activiti进阶(三)——流程定义的CRUD
- EF进阶篇(二)——CRUD
- Activiti进阶(三)——流程定义的CRUD
- CRUD
- "CRUD"
- CRUD
- CRUD
- crud
- CRUD
- CRUD
- CRUD
- CRUD
- CRUD
- C#使用Xamarin开发可移植移动应用进阶篇(10.综合演练,来一份增删改查CRUD)
- S5PV210开发板 介绍camera 驱动 (4)
- yum [Errno 256] No more mirrors to try 解决方法
- 【Leetcode】Min Stack
- android Bound Service使用:继续Binder类绑定服务
- ios 中根据给定日期 获取星期几
- CRUD进阶
- U盘安装CENTOS6.5+WIN7双系统(win7下安装centos6.5)
- 编程珠玑11章——快速排序的改进
- linux学习之 V4L2的摄像头应用
- Java内存泄露原因详解
- 对一个简单数学问题的浮想
- 水的效果
- 微信平台接口绑定总是提示超时 解决方法
- 基于ARM+Linux的直流伺服控制系统设计