Home >Database >Mysql Tutorial >About MySQL database A collection of add, delete, modify and query statements

About MySQL database A collection of add, delete, modify and query statements

一个新手
一个新手Original
2017-10-13 10:27:334513browse

1. Basic sql statements

CRUD操作:
create 创建(添加)
read 读取
update 修改
delete 删除

1. Add data

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 data

删除所有数据
delete from family
删除特定的数据
delete from Info where code='p001'
delete from 表名 where 条件

3. Modify data

修改所有数据
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. Read data

(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) Range query

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

(8) Discrete query

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) Aggregation function (statistical query)

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)Paging query

select * from car limit 0,10  #分页查询,跳过几条数据(0)取几条(10)
规定一个每页显示的条数:m
当前页数:n]
select * from car limit (n-1)*m,m

(11) Deduplication query

select distinct brand from car

(12) Group query
Query the number of cars in each series in the car table

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

After grouping, only this column or aggregate function can be queried

Get the series code where the average price of the series is greater than 40

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

Get the series code where the maximum fuel consumption of the series is greater than 8

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

2. Advanced query of MySql (Use external connection)

Connection query

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

--Multi-table join query

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

--The number of fields in joint query must be the same

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 = &#39;p001&#39;)

Description: Use outer join

##A、left outerjoin

Left outer join (Left join): The result set includes matching rows of the join table and all rows of the left join table.

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:

Right outer join (right join): The result set includes both the matching join rows of the join table and all rows of the right join table.

##C:full/cross outerjoin

Full outer join: not only includes matching rows of the symbolic connection table, but also includes all records in the two connected tables.

##D:

Group:Group by:

<span style="font-size: 16px"><strong></strong></span>A table , once the grouping is completed, only group-related information can be obtained after querying.

##Group related information: (Statistical information) count,sum,max,min,avg Standards for grouping)

##When grouping in SQL Server: cannot be Fields of text, ntext, and image types are used as grouping basis

<p class="line number60 index59 alt1"><span style="font-size: 16px"><strong><code class="sql spaces"> The fields in the selecte statistical function cannot be placed together with ordinary fields;

E:Outer join query (table name 1: a table name 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: The usage of between, between includes boundary values ​​when limiting the query data range, not betweenNot including

##select * from table1 where time between time1 and time2

##select a,b,c, from table1 where a not between Value 1 and Value 2

##G:

Four-table joint query problem: ##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:

:First 10 records

##select

top

10 * form table1 where Range I:Select all the information of the record with the largest a in each group of data with the same b value (can be used for monthly forum rankings, monthly hot-selling product analysis, by subject Score ranking, etc.)

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

The above is the detailed content of About MySQL database A collection of add, delete, modify and query statements. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn