1. 기본 SQL문
一、基本的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)关键字查询(模糊查询) 查所有包含奥迪的汽车 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 -- 笛卡尔乘积 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
:
<span style="font-size: 16px"><strong> </strong></span>
一张表,一旦分组完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息)
count
,
sum
,
max
,
min
,
avg
分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
rrreee
외부 조인 사용
) >🎜)🎜🎜🎜 조인 쿼리지침: 외부 조인 사용
🎜🎜🎜🎜 🎜 🎜 🎜 🎜 🎜 🎜 🎜D: 🎜 🎜 E: F: G: H: I: 🎜🎜A、
왼쪽
(
외부 code><code class="sql plain">)
join
:
🎜🎜🎜왼쪽 외부 조인(왼쪽 조인): 결과 집합에는 조인된 테이블의 일치하는 행이 포함되며 테이블의 모든 행을 왼쪽 조인합니다.
🎜🎜🎜SQL:
선택
a.a, a.b, a.c, b.c, b.d, b.f
from
a
LEFT
OUT
JOIN
b
ON
a.a = b.c
🎜🎜 🎜B:
오른쪽
(
외부
)
조인
:
🎜🎜🎜오른쪽 외부 조인(오른쪽 조인): 결과 집합에는 조인 테이블의 일치하는 조인 행과 오른쪽 조인 테이블의 모든 행이 모두 포함됩니다.
🎜🎜🎜C:
전체
/
cross
( code> code><code class="sql color1">외부
)
조인
:
🎜🎜🎜완전 외부 조인: 두 연결 테이블의 모든 레코드를 포함하여 기호 연결 테이블의 일치하는 행을 포함할 뿐만 아니라
🎜🎜🎜그룹:
그룹
기준
: 코드 코드>🎜🎜🎜🎜<p class="line number57 index56 alt2"><code class="sql space"> <span style="font-size: 16px">🎜 🎜🎜</span>
🎜테이블은 그룹핑이 완료되면 쿼리 후 그룹 관련 정보만 얻을 수 있습니다.
🎜🎜🎜
그룹 관련 정보: (통계 정보)
count
,
sum
,
max
,
최소,
avg
그룹화 기준)
🎜🎜🎜
SQL Server에서 그룹화하는 경우: text, ntext 및 image 유형의 필드를 그룹화 기준으로 사용할 수 없습니다.
selecte 통계 함수의 필드는 일반 필드와 함께 배치할 수 없습니다.
在selecte统计函数中的字段,不能和普通的字段放在一起;
外连接查询(表名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
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
四表联查问题:
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
.....
:前10条记录
select
top
10 * form table1
where
范围
选择在每一组b值相同的数据中对应的a最大的记录的所有信息(可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
외부 조인 쿼리(테이블명 1: 테이블명 2: b)
🎜선택
a.a, a.b, a.c, b.c, b.d, b.f
from
a
LEFT
OUT <code class="sql color1">JOIN
b
ON
a.a = b.c
🎜
🎜🎜🎜F:사이
사용법,
사이
제한 사항 경계 값 데이터 범위를 쿼리할 때 포함됩니다.
not
between
포함됨
🎜
🎜🎜선택
*
from
table1
여기서
시간 사이
시간1
및
time2
🎜
🎜🎜선택 code > <code class="sql plain">a,b,c,
from
table1
여기서 a
아님
사이
값 1
및
값 2
🎜 🎜
🎜🎜🎜G: 4테이블 공동 쿼리 문제:
🎜🎜
🎜🎜선택
*
from
a
왼쪽
내부
조인
b
on
a.a= b.b
right
inner
join
c
on
a.a=c.c
내부
join
d
on
a.a=d.d
여기서
.....
🎜 🎜
🎜🎜🎜H::처음 10개 레코드
🎜🎜
🎜🎜select
top
10 * form table1 <code class="sql 키워드">여기서
범위
🎜🎜
🎜🎜 I : b 값이 동일한 각 데이터 그룹에서 a가 가장 큰 레코드의 정보를 모두 선택합니다. (월별 포럼 순위, 월간 히트 상품 분석, 주제별 점수에 활용 가능) 순위 등)
🎜🎜🎜
select
a,b,c
from
tablename ta
where
a=(
select
max
(a)
from
tablename tb
where
tb.b=ta.b)
위 내용은 MySQL 데이터베이스 정보 추가, 삭제, 수정 및 쿼리 문 모음의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!