关于MySQL数据库 增删改查语句集锦


本文摘自PHP中文网,作者一个新手,侵删。

一、基本的sql语句

1

2

3

4

5

CRUD操作:

create 创建(添加)

read 读取

update 修改

delete 删除

1、添加数据

1

2

3

4

5

6

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、删除数据

1

2

3

4

5

删除所有数据

delete from family

删除特定的数据

delete from Info where code='p001'

delete from 表名 where 条件

3、修改数据

1

2

3

4

5

6

7

修改所有数据

update Info set name='徐业鹏'

修改特定数据

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

修改多列

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

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

4、读取数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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

select * from Info

(2)读取特定列

select code,name,class 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  #升序asc 降序 desc

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

select * from car order by brand,price desc

(7)范围查询

1

2

select * from car where price9()>40 and price<60

select * from car where price between 40 and 60

(8)离散查询

1

2

3

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)聚合函数(统计查询)

1

2

3

4

5

6

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)分页查询

1

2

3

4

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

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

当前页数:n]

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

(11)去重查询

1

select distinct brand from car

(12)分组查询
查询汽车表中,每个系列下汽车的数量

1

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

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

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

1

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

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

1

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

二、MySql的高级查询(使用外连接

连接查询

1

2

SELECT t1.Name,t2.Brand_Name FROM brand t2,car t1 -- 笛卡尔乘积

WHERE t2.Brand = t1.Brand

-- 多表连接查询

1

2

SELECT t1.Name,t2.Brand_Name,t3.prod_name  FROM car t1 LEFT JOIN brand t2 ON t1.Brand = t2.Brand

LEFT JOIN productor t3 ON t2.Prod = t3.Prod

-- 联合查询 字段数必须一样

1

2

3

4

5

SELECT `Name`,Price FROM car

UNION

 SELECT Brand_Name,Brand_Memo FROM brand

-- 子查询(***)

SELECT * FROM car WHERE car.brand in (SELECT Brand FROM brand WHERE Prod = 'p001')

说明:使用外连接

A、left outerjoin

左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right outerjoin:

右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。

C:full/cross outerjoin

全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

D:分组:Group by:

一张表,一旦分组完成后,查询后只能得到组相关的信息。

组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)

在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据

在selecte统计函数中的字段,不能和普通的字段放在一起;

E:外连接查询(表名1:a 表名2:b)

select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

F:between的用法,between限制查询数据范围时包括了边界值,not between不包括

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 数值1 and 数值2

G:四表联查问题:

select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

H::前10条记录

select top 10 * form table1 where 范围

I:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)

select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

以上就是关于MySQL数据库 增删改查语句集锦 的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

wdcp上如果修改mysql密码

mysql禁止外部访问解决方案

mysql如何新建权限设置密码

实例详解mysql记录耗时的sql语句

php之mysql数据库优化策略的详解

mysql 修改编码失败怎么办

mysql 查询结果取交集的方法

mysql having用法是什么?

mysql怎么删除注册表

浅谈mysql清空表数据的两种方式和区别

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...