SQL: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
== 용법 == | == 용법 == | ||
=== SELECT 구문 === | === SELECT 구문 === | ||
* SELECT [조회할 속성] FROM [조회 대상] WHERE [조회 조건] | * SELECT [조회할 속성] FROM [조회 대상 테이블] WHERE [조회 조건] | ||
* '''SELECT 조회할 속성''' | * '''SELECT 조회할 속성''' | ||
** 속성을 따옴표로 나열하여서 적는다. | ** 속성을 따옴표로 나열하여서 적는다. | ||
Line 31: | Line 31: | ||
** 모든 속성에 대해 조회하려면 * 을 적는다. (* 는 'all'이라 읽음) | ** 모든 속성에 대해 조회하려면 * 을 적는다. (* 는 'all'이라 읽음) | ||
*** SELECT * FROM 학생 ('셀렉트 올 프럼 학생' 이라고 읽음) | *** SELECT * FROM 학생 ('셀렉트 올 프럼 학생' 이라고 읽음) | ||
* '''FROM 조회 대상''' | * '''FROM 조회 대상 테이블''' | ||
** 조회 대상 테이블을 따옴표로 나열하여 적는다. | ** 조회 대상 테이블을 따옴표로 나열하여 적는다. | ||
* '''WHERE 조회 조건''' | * '''WHERE 조회 조건''' | ||
Line 51: | Line 51: | ||
=== DELETE 구문 === | === DELETE 구문 === | ||
=== UPDATE 구문 === | === UPDATE 구문 === | ||
* UPDATE [갱신 대상 테이블] SET [갱신할 속성] = [갱신 값] WHERE [검색 조건] |
Revision as of 05:23, 5 May 2019
- Structured Query Language
- 관계형 데이터베이스의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
역사
- 관계형 데이터베이스의 튜플 해석 이론을 기반으로 만들어졌다.
- 1970년대 초 IBM의 도널드 D. 챔벌린과 레이먼드 F. 보이스가 개발하였다.
- 현재는 대부분의 관계형 데이터베이스 시스템에서 표준으로 채택해 사용하고 있다.
구분
- SQL은 아래 3가지로 구분 가능
데이터 정의 언어(DDL)
- Data Definition Language
- DB(Schema), Table, View, Index 등을 정의(생성·갱신·삭제)할 때 쓰인다.
- 대표적인 명령: CREATE, ALTER, DROP
데이터 조작 언어(DML)
- Data Manipulation Language
- 테이블의 데이터를 조회하고 조작(삽입·갱신·삭제)할 때 쓰인다.
- 대표적 명령: SELECT, INSERT, DELETE, UPDATE
데이터 제어 언어(DCL)
- Data Control Language
- 데이터의 보안, 무결성, 트랜잭션 병행제어 등을 위해 쓰인다.
- 대표적 명령: COMMIT, ROLLBACK, GRANT, REVOKE
용법
SELECT 구문
- SELECT [조회할 속성] FROM [조회 대상 테이블] WHERE [조회 조건]
- SELECT 조회할 속성
- 속성을 따옴표로 나열하여서 적는다.
- SELECT 이름, 나이 FROM 학생
- 모든 속성에 대해 조회하려면 * 을 적는다. (* 는 'all'이라 읽음)
- SELECT * FROM 학생 ('셀렉트 올 프럼 학생' 이라고 읽음)
- 속성을 따옴표로 나열하여서 적는다.
- FROM 조회 대상 테이블
- 조회 대상 테이블을 따옴표로 나열하여 적는다.
- WHERE 조회 조건
- 일치하는 조건을 찾을 때는 속성 = '값'으로 적는다.
- ex) SELECT * FROM 학생 WHERE 이름 = '홍길동'
- 크거나 작은 조건을 찾을 때는 >, <, <=, >=와 같이 부등호를 사용한다.
- ex) SELECT * FROM 학생 WHERE 나이 > '11살'
- 다름을 표현할 때는 != 또는 <> 를 사용한다.
- ex) SELECT * FROM 학생 WHERE 나이 <> '11살'
- 단, NULL이 아님을 표현 할 때는 'IS NOT NULL' 이라고 적는다.
- ex) SELECT * FROM 학생 WHERE 직업 IS NOT NULL
- 비슷함을 표현할 때는 LIKE와 %를 사용한다.
- %는 WILD CARD로, %가 위치한 곳은 어떤 문자열도 올수 있다.
- ex) SELECT * FROM 학생 WHERE 이름 LIKE '홍%
- 조건이 여러개일 때는 AND나 OR로 잇고 괄호를 사용할 수 있다.
- ex) SELECT * FROM 학생 WHERE 이름 = '홍길동' AND (나이 <= '19' OR 직업 = '학생')
- 일치하는 조건을 찾을 때는 속성 = '값'으로 적는다.
INSERT 구문
DELETE 구문
UPDATE 구문
- UPDATE [갱신 대상 테이블] SET [갱신할 속성] = [갱신 값] WHERE [검색 조건]