폐관수련
[데이터베이스] SQL 본문
SQL (Structured Query Language)
관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어.
데이터 정의 언어(DDL : Data Definition Language), 데이터 조작 언어(DML : Data Manipulation Language), 데이터 제어 언어(DCL : Data Control Language) 로 분류된다.
문법
1. 데이터 정의 언어
-
CREATE : 개체(테이블, 인덱스, 제약조건 등) 정의
-
DROP : 개체 삭제
-
ALTER 개체 정의 변경
CREATE TABLE 테이블명
(컬럼명 데이터유형(길이) [NOT NULL],
컬럼명 데이터유형(길이) [NOT NULL] ...
PRIMARY KEY(컬럼명, 컬럼명 ...));
DROP TABLE [IF EXISTS] 테이블명;
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터유형(길이) [NOT NULL];
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 데이터유형(길이) [NOT NULL];
ALTER TABLE 테이블명 CHANGE COLUMN 기존컬럼명 변경할컬럼명 데이터유형(길이) [NOT NULL];
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
2. 데이터 조작 언어
-
INSERT INTO : 데이터 삽입
-
UPDATE ~ SET : 업데이트
-
DELETE FROM : 행 삭제
-
SELECT ~ FROM ~ WHERE : 데이터 검색
INSERT INTO 테이블명 VALUES(값, 값 ...); // 전체 컬럼에 대응하는 값
INSERT INTO 테이블명 (컬럼명, 컬럼명 ...) VALUES(값, 값 ...); // 특정 컬럼
UPDATE 테이블명 SET 수정할컬럼명 = 수정값 WHERE 조건;
UPDATE 테이블명 SET 수정할컬럼명 = 수정값, ... WHERE 조건;
DELETE FROM 테이블명 WHERE 조건;
DELETE FROM 테이블명;
SELECT * FROM 테이블명; // 전체 컬럼 데이터 모두 읽기
SELECT 컬럼, ... FROM 테이블명; // 특정 컬럼의 데이터만 읽기
SELECT 컬럼 AS 바꿀컬럼이름, ... FROM 테이블명; // 특정 컬럼의 데이터를 검색하되, 컬럼명 다르게 표시
SELECT * FROM 테이블명 ORDER BY 정렬기준컬럼명 DESC; // 내림차순 정렬
SELECT 컬럼, ... FROM 테이블명 ORDER BY 정렬기준컬럼명 ASC; // 오름차순 정렬
SELECT * FROM 테이블명 WHERE 컬럼명 (>,<,=) 값;
SELECT * FROM 테이블명 WHERE (컬럼명=값) (OR,AND) (컬럼명=값);
SELECT * FROM 테이블명 WHERE 컬럼명 LIKE ('a%','%a%','a__'); // a로시작,a가포함된,a로시작되고뒤에2글자
SELECT * FROM 테이블명 LIMIT 숫자; // 결과중 처음부터 숫자만큼만 가져오기
SELECT * FROM 테이블명 LIMIT 숫자, 숫자; // 결과중 첫번째 숫자부터 두번째 숫자까지 가져오기
3. 데이터 제어 언어
- GRANT : 특정 데이터베이스 사용자에게 특정 작업 수행 권한 부여
- REVOKE : 이미 준 권한 박탈
- SET TRANSACTION : 트랜잭션 모드 설정
- BEGIN : 트랜잭션 시작
- COMMIT : 트랜잭션 취소
- SAVEPOINT : 무작위로 롤백 지점 설정
- LOCK : 자원 차지