[DB] MySQL 기본 문법 정리
2020. 5. 22. 12:03ㆍDataBase/MySQL
반응형
■ 데이터 정의어 (DDL : Data Definition Language)
1. 테이블 컬럼(필드) 추가
설명) 컬럼를 기준컬럼의 위 또는 아래에 타입조건에 맞춰 컬럼추가.
예시) ALTER TABLE 테이블명 ADD 추가할필드명 타입 조건 first 또는 after 기준필드명;
ALTER TABLE tblexam ADD address VARCHAR(20) after name;
2. 테이블 컬럼(필드) 수정
설명) 테이블에서 컬럼(필드) 수정.
예시) ALTER TABLE 테이블명 MODIFY 컬럼명 타입조건 NULL조건;
ALTER TABLE tblexam MODIFY id int not null;
3. 테이블 컬럼(필드) 삭제
설명) 테이블에서 컬럼(필드)삭제.
예시) ALTER TABLE 테이블명 DROP 삭제할필드명;
ALTER TABLE tblexam DROP id;
4. 테이블 컬럼(필드) 제약조건 추가
설명) 해당 컬럼에 제약조건 부여
예시) ALTER TABLE 테이블명 ADD CONSTRAINT 변수(예)pk_id) 제약조건(컬럼명);
ALTER TABLE tblexam ADD CONSTRAINT pk_id PRIMARY KEY(id);
■ 데이터 조작어 (DML : Data Manipulation Language)
1. DESC
설명) 테이블의 구조를 참조
예시) DESC 테이블명;
DESC tblexam;
2. 중복 행 제거하기(Distinct)
설명) 열이름에 해당하는 데이터를 중복없는 레코드로 호출한다.
예시) SELECT DISTINCT(열이름) FROM 테이블명;
SELECT DISTINCT(id) FROM tblexam;
3. 패턴(LIKE)
※ 메타 문자 : %(임의의 문자열), _(임의의 문자하나)
설명) SQL 앞에 문자가 있거나 없으며, SQL문자 뒤에 문자하나가 존재하는 데이터가 조건에 해당한다.
예시) WHERE 열이름 LIKE '%SQL_'
4. IN
설명) 열이름에 해당하는 데이터가 A,B,O인 레코드를 호출한다.
예시) SELECT * FROM 테이블명 WHERE 열이름 IN (A,B,C)
SELECT * FROM tblexam WHERE blood_type IN (A,B,O);
5. CASE
설명) WHEN 절에서 조건에 해당된다면 해당 THEN절의 결과를 가져오고, 전체 WHEN 절의 조건에 해당되지 않는다면, ELSE절의 결과를 가져온다.
예시)
CASE WHEN 조건식1 THEN 식1
[WHEN 조건식2 THEN 식2]
:
[ELSE 식3]
END
6. 정렬(ORDER BY)
※ LIMIT절이 없을 경우 쿼리문의 가장 마지막에 위치한다.
정렬형식 = ASC(디폴트) : 오름차순, DESC : 내림차순
설명) ORDER BY 작성 순서를 우선순위로 정렬한다. (열이름1[오름차순]>열이름2[내림차순]>열이름3[오름차순])
SELECT * FROM 테이블명 WHERE 조건 ORDER BY 열이름1 ASC, 열이름2 DESC, 열이름3;
7. 제한하기(LIMIT)
※ 쿼리문의 가장 마지막에 위치한다.
OFFSET절을 사용O : 원하는 위치에서 아래로 원하는 레코드 갯수를 호출.
OFFSET절을 사용X : 레코드의 가장 상위위치부터 아래로 원하는 레코드 갯수를 호출.
설명) OFFSET은 첫번째 레코드를 0으로 판단하기 때문에, 정렬된 레코드에서 4번째 레코드부터 3개의 레코드를 호출
1) SELECT * FROM 테이블명 ORDER BY 열이름 DESC LIMIT 3 OFFSET 3;
1) SELECT * FROM 테이블명 ORDER BY 열이름 DESC LIMIT 3, 3;
8. 그룹화(GROUP BY)
※ 그룹화 하고자 하는 열의 데이터를 그룹화하는 작업
설명) 열이름1 , 열이름2를 그룹화하여 테이블의 레코드를 호출한다.
SELECT * FROM 테이블명 GROUP BY 열이름1, 열이름2
9. HAVING절
※ 그룹화(GROUP BY)와 같이 사용되며, 그룹 함수를 통해 조건을 주고 싶을 경우 사용
설명) 해당 열이름으로 그룹화된 데이터에서 그룹 함수를 사용한 조건과 매치되는 레코드를 호출한다.
SELECT * FROM 테이블명 GROUP BY 열이름 HAVING 그룹함수를 이용한 조건
예시) select * from emp group by job having sum(sal) = 2000;
10. REPLACE() 함수
※ 데이터 값 치환
설명) 열이름의 데이터의 내용 중 'a' 를 'b' 로 치환한다.
REPLACE(열이름, 'a', 'b')
예시) apply -> bpply
11. count()함수
설명) 열이름에 해당하는 데이터의 갯수를 반환(NULL은 계산하지 않는다.)
select count(열이름) from 테이블명;
반응형
'DataBase > MySQL' 카테고리의 다른 글
[DB] MySQL 함수정리 (0) | 2020.05.23 |
---|---|
[DB] MySQL 한글 인코딩 설정 (0) | 2020.05.22 |
[DB GUI] Oracle SQL Developer에 MySQL연동 (0) | 2020.05.21 |
[DB GUI] Heidi SQL 설치 방법 (0) | 2020.05.21 |
[DB] MySQL Server 설치 방법 (0) | 2020.05.21 |