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

一、基本的sql语句

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 条件  tno =

4、读取数据
(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)关键字查询(模糊查询)
查阅有包含Audi的汽车
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)范围查询
select * from car where price9()>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

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

 连接查询
SELECT t1.Name,t2.Brand_Name FROM brand t2,car t1 — 笛Carl乘积
WHERE t2.Brand = t1.Brand

— 多表连接查询
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

— 同查询 字段往往得一律
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 (``outer``) ``join``:

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

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 (``outer``) ``join``:

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

C:``full``/``cross (``outer``) ``join``:

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

D:分组:``Group by``:

`**MySQL,平摆设表,一旦分组完成后,查询后仅会得到组相关的音。`**

``组相关的信息:(统计信息) ``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)

网站地图xml地图