SQL이란?

Structured Query Language의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어입니다. 1970년대 IBM에서 최초 개발되었으며 데이터를 저장하는 모든 회사에서 NoSQL과 함께 많이 쓰고 있습니다.

출처 : topschool.com


SQL 문법의 종류

SQL 문법은 크게 DDL, DML, DCL로 나누어집니다.

DDL(Data Definition Language, 데이터 정의 언어) - 관계형 데이터베이스의 구조를 정의하기 위해 사용하는 언어(ex - CREATE, ALTER, DROP...)

DML(Data Manipulation Language, 데이터 조작 언어) - 테이브렝서 데이터를 입력, 수정, 삭제, 조회하는 언어(SELECT, INSERT, UPDATE...)

DCL(Data Control Language, 데이터 제어 언어) - 데이터베이스 사용자에게 권한을 부여하거나 회수하는 언어(GRANT, REVOKE...)

TCL(Transaction Control Language) - 트랜잭션을 제어하는 명령어(COMMIT, ROLLBACK, SAVEPOINT...)


SQL의 언어적 특성

Python의 print("hello world"), C언어의 printf("%s", "hello world");처럼 각 프로그래밍 언어가 가진 고유한 특성은 구별 지어 알아야 합니다. SQL은 다음과 같은 특성을 갖습니다.

1. 대소문자를 가리지 않는다

-> CREATE와 create는 똑같이 CREATE로 인식한다.(단, 서버 환경이나 DMBS 종류에 따라 대소문자를 구분하기도 합니다.)

SELECT Contry;
select contry;

2. SQL 명령은 반드시 세미콜론(;)으로 끝나야 한다.

SELECT Country, COUNT(*) FROM [Customers]
WHERE ContactName LIKE 'A%'
GROUP BY Country;

3. 고유의 값은 따옴표(" ")로 감싸준다.

SELECT Country, COUNT(*) FROM [Customers]
WHERE ContactName = "James";

4. 한 줄 주석은 문장 앞에 --를 붙이고, 여러 줄 주석은 /* */로 감싸준다.

-- SELECT * FROM EMP;
/*
SELECT * FROM EMP
WHERE EMPID=(SLECT * FROM EMP WHERE NAME="James")
*/

DDL(Data Definition Language)

테이블 생성하기(Create)

Create Table EMP
(
empno number(10) primary key,
ename varchar2(20),
sal number(6)
);

Create Table EMP - EMP라는 테이블명을 생성한다.

empno number(10) primary key - empno라는 column을 기본키로 지정한다.

empno, ename, sal - 생성되는 EMP 테이블의 column명

number(10), varchar2(20), number(6) - 데이터 타입을 지정하고 ()안에는 가변 길이 문자를 의미함


테이블 변경하기(ALTER)

테이블명 변경하기(ALTER TABLE ~ RENAME TO)

ALTER TABLE EMP
RENAME TO NEW_EMP;

EMP테이블의 이름을 NEW_EMP로 바꿀 때 위와 같이 작성한다.

 

Column 추가(ALTER TABLE ~ ADD)

ALTER TABLE EMP
ADD(age number(2) default 1);

EMP테이블에 age column을 추가하는 쿼리이다.

 

column 변경(ALTER TABLE ~ MODIFY)

ALTER TABLE EMP
MODIFY(ename varchar2(40) not null);

EMP테이블에 ename column의 길이를 20에서 40으로 변경하고 not null이라는 조건을 부여하는 쿼리이다.

 

column 삭제(ALTER TABLE ~ DROP COLUMN)

ALTER TABLE EMP
DROP COLUMN age;

EMP 테이블에 age column을 삭제한다.


테이블 삭제하기(DROP)

DROP TABLE EMP;
DROP TABLE EMP CASCADE CONSTRAINT;

테이블 삭제는 DROP TABLE문을 사용해서 삭제할 수 잇고, 테이블의 구조와 데이터를 모두 삭제한다.

CASCADE CONSTRAINT라는 옵션을 사용하면 해당 테이블의 데이터를 외래키로 참조한 스레이브 테이블과 관련된 제약사항도 함께 삭제할 수 있다.

728x90
반응형

'데이터 분석 & 시각화 > SQL' 카테고리의 다른 글

SQL 실전쿼리 작성2  (0) 2021.03.03
SQL 실전쿼리 작성  (0) 2021.03.03
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기