SQL은 structured query language로, 관계형 데이터베이스에 있는 데이터를 분석하는 언어
관계형 데이터베이스는 행과 열로 구성된 테이블이 관계를 맺고 모여있는 집합체
(관계는 1:1 1:N N:N → 테이블간 연결이 가능하다는 것 의미)
▶ SQL 명령어
기본 명령어 | 기능 |
데이터 정의어(Data Definition Language, DDL) | 테이블 생성, 변경, 삭제 |
데이터 조작어(Data Manipulation Language, DML) | 데이터 삽입, 조회, 수정, 삭제 |
데이터 제어어(Data Control Language, DCL) | 데이터 접근 권한 부여, 제거 |
트랜젝션 제어어(Transaction Control Language, TCL) | 데이터 조작어(DML) 명령어 실행, 취소, 임시저장 |
1) 데이터 정의어(DDL)
- 테이블 생성
CREATE TABLE 테이블명 (
열 이름 데이터 타입(바이트수) 제약조건
);
- 열 추가
ALTER TABLE 테이블명 ADD 열이름 데이터타입;
- 열 데이터 타입 변경
ALTER TABLE 테이블명 MODIFY 열이름 데이터타입;
- 열 이름 변경
ALTER TABLE 테이블명 CHANGE 기존열이름 변경열이름 데이터타입;
- 테이블명 변경
ALTER TABLE 테이블명 RENAME 변경테이블명;
- 테이블 삭제
DROP TABLE 테이블명;
2) 데이터 조작어(DML)
- 데이터 삽입
INSERT INTO 테이블명 VALUES (데이터, 데이터, 데이터)
테이블 열 순서에 맞게 데이터 입력, 문자형과 날짜형은 ' '로 묶어줌
제약조건 위반시(PK, NOT NULL, 데이터 타입) 데이터 삽입 안됨
- 데이터 조회
SELECT 모든열 조회(*) or 특정 열 조회(열 이름) or 열 이름 변경해 조회(AS)
- 데이터 수정
제한 설정 풀기 EDIT → preferences → SQL Editor → 맨 밑 체크 풀기
UPDATE 테이블명
SET 수정할 열 이름 = 조건;
* 특정 조건 데이터 수정은 WHERE 열이름=조건; 추가
(WHERE에 해당하는 행만 SET 부분 수정한다는 의미)
- 데이터 삭제
DELETE
FROM
WHERE (특정 데이터 삭제)
3) 데이터 제어어(DCL)
데이터베이스 관리자(DBA)가 특정 사용자(User)에게 데이터 접근권한 부여 및 제거시 사용하는 명령어
DBA → 데이터베이스 관리, 테이블 생성, 데이터 접근 권한 관리 (DDL, DCL)
User → 데이터베이스 접근, 데이터 분석, 데이터 접근 권한 요청(DML, TCL)
▶ 사용자 추가 (아이디 및 비밀번호 생성)
CREATE USER '아이디' @LOCALHOST IDENTIFIED BY '비밀번호'
(@LOCALHOST는 로컬에서 접속이 가능하다는 의미)
* 비밀번호 변경 → SET PASSWORD FOR '비밀번호' @LOCALHOST = '1234';
▶ 권한 부여
권한: CREATE, ALTER, DROP, INSERT, DELETE, UPDATE, SELECT 등
* 특정 권한 부여
GRANT SELECT, DELETE ON 데이터베이스.테이블 TO 아이디 @LOCALHOST;
(GRANT 뒤에 권한 부여할 명령어 작성, ON 뒤에 권한 사용할 수 있는 데이터베이스 및 테이블 작성, 권한 부여할 아이디 입력)
* 특정 권한 제거
REVOKE DELETE ON 데이터베이스.테이블 FROM 아이디 @LOCALHOST;
* 모든 권한 부여
GRANT ALL ON 데이터베이스.테이블 TO 아이디 @LOCALHOST;
* 모든 권한 제거
REVOKE ALL ON 데이터베이스.테이블 FROM 아이디 @LOCALHOST;
* 사용자 삭제
DROP USER 아이디 @LOCALHOST;
정리 → 사용자 추가 및 삭제(CREATE, DROP) / 권한 부여 및 삭제(GRANT, REVOKE)
4) 트랜젝션 제어어(TCL)
트랜젝션(Transaction) : 분할할 수 없는 최소 단위이며 논리적 작업 단위
BEGIN 명령어로 트랜젝션 시작
실행(COMMIT) → 모든 작업을 최종 실행
취소(ROLLBACK) → 모든 작업을 되돌림
임시저장(SAVEPOINT) → ROLLBACK 저장점을 지정
트랜젝션에서 DML 명령어 (삽입 INSERT, 수정 UPDATE, 삭제 DELETE)의 각 지점마다 ROLLBACK 저장점을 지정해 원하는 지점으로 ROLLBACK 가능
SAVEPOINT 임시저장이름;
ROLLBACK 임시저장이름 으로 되돌아감
'IT 기초 > SQL' 카테고리의 다른 글
[SQL 활용] 연산자 및 함수 - 함수 (0) | 2023.04.04 |
---|---|
[SQL 활용] 연산자 및 함수 - 연산자 (0) | 2023.04.04 |
[SQL 문법] 서브 쿼리(Sub Query) (0) | 2023.04.01 |
[SQL 문법] 테이블 결합(JOIN) (0) | 2023.04.01 |
[SQL 문법] 데이터 조회 (SELECT) (0) | 2023.03.30 |