>  기사  >  데이터 베이스  >  MySQL 데이터베이스 정보 추가, 삭제, 수정 및 쿼리 문 모음

MySQL 데이터베이스 정보 추가, 삭제, 수정 및 쿼리 문 모음

一个新手
一个新手원래의
2017-10-13 10:27:334427검색

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

说明:使用外连接

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:

 <span style="font-size: 16px"><strong> </strong></span>一张表,一旦分组完成后,查询后只能得到组相关的信息。

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

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

1. 데이터 추가
🎜rrreee🎜2. 데이터 삭제
🎜rrreee🎜3 데이터 수정
🎜rrreee🎜4. 데이터 읽기
🎜rrreee🎜(7) 범위 쿼리
🎜rrreee🎜(8) 이산 쿼리
🎜rrreee🎜(9) 집계 함수( 통계 쿼리)
🎜rrreee🎜(10) 페이징 쿼리
🎜rrreee🎜(11) 중복 제거 쿼리
🎜rrreee🎜(12) 그룹 쿼리
자동차 테이블의 쿼리, 각 시리즈의 자동차 수
🎜rrreee🎜그룹화 후 이 열 또는 집계 함수만 쿼리할 수 있습니다

시리즈의 평균 가격이 40보다 큰 시리즈 코드를 가져옵니다
🎜 rrreee🎜시리즈의 최대 연료 소비량이 8보다 큰 시리즈 코드를 가져옵니다
🎜rrreee🎜🎜2. MySql의 고급 쿼리(🎜외부 조인 사용) >🎜)🎜🎜🎜 조인 쿼리
🎜rrreee🎜--다중 테이블 조인 쿼리
🎜rrreee🎜--조인 쿼리 필드 개수는 동일해야 합니다
🎜rrreee🎜🎜 지침: 외부 조인 사용🎜🎜🎜

🎜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">외부) 조인🎜🎜🎜

🎜완전 외부 조인: 두 연결 테이블의 모든 레코드를 포함하여 기호 연결 테이블의 일치하는 행을 포함할 뿐만 아니라 🎜🎜🎜

🎜D:그룹:그룹 기준: 코드 코드>🎜🎜🎜🎜<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统计函数中的字段,不能和普通的字段放在一起;

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最大的记录的所有信息(可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)

🎜🎜E: 외부 조인 쿼리(테이블명 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.