집 >데이터 베이스 >MySQL 튜토리얼 >고급 MySQL 데이터베이스 SQL 문 소개
추천 무료 학습: mysql 튜토리얼(동영상)
1. 준비
1. MySQL 데이터베이스 설치
셸 스크립트 원클릭 배포— — MySQL 소스 코드 편집 및 설치
2. 실험 준비, 데이터 테이블 구성
1이 표시됩니다. in the table 하나 또는 여러 필드의 모든 데이터
구문: SELECT field FROM table name
mysql -uroot -p show databases; create database train_ticket; use train_ticket; create table REGION(region varchar(10),site varchar(20)); create table FARE(site varchar(20),money int(10),date varchar(15)); desc REGION; desc FARE; insert into REGION values ('south','changsha'); insert into REGION values ('south','nanchang'); insert into REGION values ('north','beijing'); insert into REGION values ('north','tianjin'); insert into FARE values ('changsha',1000,'2021-01-30'); insert into FARE values ('nanchang',700,'2021-01-30'); insert into FARE values ('beijing',1500,'2021-01-30'); insert into FARE values ('tianjin',1200,'2021-01-30'); insert into FARE values ('beijing',2200,'2021-02-05'); select * from REGION; select * from FARE;
2, DISTINCT
구문: SELECT DISTINCT field FROM table name
select region from REGION;
3. WHERE
구문: SELECT 필드 FROM 테이블 이름 WHERE 조건
select distinct region from REGION;
4. AND, OR
구문: SELECT 필드 FROM 테이블 이름 WHERE 조건 1 ([AND|OR] 조건 2)+
select site from FARE where money > 1000; select site from FARE where money <p>5, IN<strong></strong><br></p> 알려진 값의 정보 표시 <p><strong> 구문: SELECT 필드 FROM 테이블 이름 WHERE 필드 IN ('값 1','값 2',...);</strong></p><pre class="brush:php;toolbar:false">select site from FARE where money > 1000 and (money = 700); select site,money,date from FARE where money >= 500 and (date <p>6, BETWEEN<strong></strong><br></p>두 값 범위 내의 데이터 표시<p><strong> 구문: SELECT 필드 FROM 테이블 이름 WHERE 필드 BETWEEN '값 1'과 '값 2 ';</strong></p><pre class="brush:php;toolbar:false">select site,money from FARE where money in (700,1000);
7. 와일드카드, LIKE
%: 0, 1개 이상의 문자를 나타냅니다.
_: 밑줄은 단일 문자를 나타냅니다
LIKE : 패턴을 일치시켜 정보를 찾는 데 사용됩니다
구문: SELECT field FROM table name WHERE field LIKE 'pattern';
select * from FARE where money between 500 and 1000;
8, ORDER BY
Sort by 키워드
#ASC: 오름차순 정렬, 기본 정렬 방식 #DESC: 내림차순 정렬
select * from FARE where site like 'be%'; select site,money from FARE where site like '%jin_';
function
1. abs(x)
x를 ypower(x,y)
round(x) | |
---|---|
round(x,y)에 가장 가까운 정수를 반환합니다 | 소수점 y자리로 반올림된 x 값을 유지합니다 |
sqrt(x) | x |
truncate( x,y) | 소수점 y자리로 잘린 숫자 x의 값을 반환합니다. |
ceil(x) | x보다 크거나 같은 가장 작은 정수를 반환합니다. |
floor(x) | x보다 작거나 같은 가장 큰 정수 |
greatest(x1,x2…) | 집합을 반환합니다. |
least(x1,x2...) | 에서 가장 큰 값을 반환합니다. 집합에서 가장 작은 값을 반환합니다. |
select * from FARE order by money desc; select date,money from FARE order by money desc; |
|
2, 집계 함수 | |
avg() | |
min()
지정된 열의 최소값을 반환max( )
sum(x) | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
의 모든 값의 합계를 반환합니다.select avg(money) from FARE; select count(money) from FARE; select min(money) from FARE; select max(money) from FARE; select sum(money) from FARE;
3、字符串函数
SELECT TRIM ([ [位置] [要移除的字符串] FROM ] 字符串);
select trim(leading 'na' from 'nanchang'); select trim(trailing '--' from 'nanchang--'); select trim(both '--' from '--nanchang--'); select concat(region,site) from REGION where region = 'south'; select concat(region,' ',site) from REGION where region = 'south'; select substr(money,1,2) from FARE; select length(site) from FARE; select replace(site,'ji','--') from FARE; select upper(site) from FARE; select lower('HAHAHA'); select left(site,2) from FARE; select right(site,3) from FARE; select repeat(site,2) from FARE; select space(2); select strcmp(100,200); select reverse(site) from FARE; 4、| | 连接符 如果sql_mode开启开启了PIPES_AS_CONCAT,"||"视为字符串的连接操作符而非或运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的 mysql -uroot -p use train_ticket; select region || ' ' || site from REGION where region = 'north'; select site || ' ' || money || ' ' || date from FARE; 5、GROUP BY
语法:SELECT 字段1,SUM(字段2) FROM 表名 GROUP BY 字段1; select site,sum(money) from FARE group by site; select site,sum(money),date from FARE group by site order by money desc; select site,count(money),sum(money),date from FARE group by site order by money desc; 6、HAVING
语法:SELECT 字段1,SUM(字段2) FROM 表名 GROUP BY 字段1 HAVING(函数条件); select site,count(money),sum(money),date from FARE group by site having sum(money) >=700; 7、别名 字段别名、表格别名 select RE.region AS reg, count(site) from REGION AS RE group by reg; select FA.site AS si,sum(money),count(money),date AS da from FARE AS FA group by si; 8、子查询 连接表格,在WHERE 子句或HAVING 子句中插入另一个SQL 语句
select A.site,region from REGION AS A where A.site in(select B.site from FARE AS B where money<blockquote><p><strong>相关免费推荐:<a href="https://www.php.cn/sql/" target="_blank">SQL教程</a></strong></p></blockquote> |
위 내용은 고급 MySQL 데이터베이스 SQL 문 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!