mySQL CRUD操作(数据库的增删改查)

Posted 喜气洋洋得意

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mySQL CRUD操作(数据库的增删改查)相关的知识,希望对你有一定的参考价值。

CRUD操作:

create 创建(添加)

read 读取

update 修改

delete 删除

 

1、添加数据

insert into Info values(‘p009‘,‘张三‘,1,‘n001‘,‘2016-8-30 12:9:8‘) ;

给特定的列添加数据

insert into Info (code,name) values(‘p010‘,‘李四‘);

自增长列的处理

insert into family values(‘‘,‘p001‘,‘数据‘,‘T001‘,‘数据‘,1);

 

insert into 表名 values()

 

2、删除数据

删除所有数据

delete from family

删除特定的数据

delete from Info where code=‘p001‘

 

delete from 表名 where 条件

 

3、修改数据

修改所有数据

update Info set name=‘徐业鹏

修改特定数据

update Info set name=‘吕永乐‘ where code=‘p002‘

修改多列

update Info set name=‘吕永乐‘,sex=1 where code=‘p003‘

 

update 表名 set 要修改的内容 where 条件

 

4、读取数据

(1)简单读取,查询所有列(*)  所有行(没有加条件)

select * from Info

(2)读取特定列

select code,name from Info

(3)条件查询

select * from Info where code=‘p003‘

(4)多条件查询

select * from Info where code=‘p003‘ or nation=‘n002‘ #或的关系

select * from Info where sex=0 and nation=‘n002‘ #与的关系

(5)关键字查询(模糊查询)

查所有包含奥迪的汽车

select * from car where name like ‘%奥迪%‘; #百分号%代表任意多个字符

查以皇冠开头的所有汽车

select * from car where name like ‘皇冠%‘;

查询汽车名称中第二个字符是

select * from car where name like ‘_%‘; #下划线_代表任意一个字符

(6)排序查询

select * from car order by powers  #默认升序排列

select * from car order by powers desc #升序asc 降序 desc

先按brand升序排,再按照price降序排

select * from car order by brand,price desc

 

 

(7)范围查询

select * from car where price>40 and price<60

select * from car where price between 40 and 60

 

(8)离散查询

select * from car where price=30 or price=40 or price=50 or price=60;

select * from car where price in(30,40,50,60)

select * from car where price not in(30,40,50,60)

 

(9)聚合函数(统计查询)

select count(*) from car

select count(code) from car #取所有的数据条数

select sum(price) from car #求价格总和

select avg(price) from car #求价格的平均值

select max(price) from car #求最大值

select min(price) from car #求最小值

 

(10)分页查询

select * from car limit 0,10  #分页查询,跳过几条数据(0)取几条(10)

规定一个每页显示的条数:m

当前页数:n

select * from car limit (n-1)*m,m

 

(11)去重查询

select distinct brand from car

 

(12)分组查询

查询汽车表中,每个系列下汽车的数量

select brand,count(*) from car group by brand

分组之后,只能查询该列或聚合函数

 

取该系列价格平均值大于40的系列代号

select brand from car group by brand having avg(price)>40

 

取该系列油耗最大值大于8的系列代号

select brand from car group by brand having max(oil)>8

高级查询:

1.连接查询

select * from Info,Nation

形成笛卡尔积

select * from Info,Nation where Info.nation=Nation.code

 

select Info.code,Info.name,Info.sex,Nation.name as ‘民族‘,Info.birthday from Info,Nation where Info.nation=Nation.code

 

select * from Info join Nation on Info.nation=Nation.code

 

2.联合查询

select code,name from Info

union

select code,name from Nation

 

3.子查询

子查询查询的结果作为父查询的条件

 

1)无关子查询:子查询执行的时候和父查询没有关系

查民族为汉族的所有学生信息

select * from Info where nation=(select code from nation where name=‘汉族‘)

 

查询生产厂商为一汽大众的所有汽车信息

select * from car where brand=()

select brand_code from brand where prod_code=()

select prod_code from productor where prod_name=‘一汽大众

 

 

select * from car where brand in(select brand_code from brand where prod_code=(select prod_code from productor where prod_name=‘一汽大众‘))

 

2)相关子查询

子查询在执行的时候需要用到父查询的内容

 

查询汽车表中,汽车油耗小于该系列平均油耗的所有汽车信息

 

select * from car where oil<(该系列平均油耗)

select avg(oil) from car where brand =(该系列)

 

select * from car a where oil<(select avg(oil) from car b where b.brand =a.brand)

以上是关于mySQL CRUD操作(数据库的增删改查)的主要内容,如果未能解决你的问题,请参考以下文章

数据库中简单的增删改查(CRUD)

MySQL学习4:数据的增删改查CRUD

MySQLMySQL表的增删改查(CRUD)

MySQLMySQL表的增删改查(CRUD)

Node.js + MySQL 实现数据的增删改查

SQl常用增删改查