Structured Query Language
데이터베이스용 프로그래밍 언어로서 관계형 데이터베이스에서 사용합니다. 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있습니다. 그리고 이름에서 유추할 수 있듯이, SQL은 (relation 이라고도 불리는) 데이터가 구조화된(structured) 테이블을 사용하는 데이터베이스에서 활용할 수 있습니다.
Query
질의문이라는 뜻을 가지고 있다. 검색을 할 때 입력하는 검색어가 일종의 쿼리인데, 기존에 존재하는 데이터를 필터링 하기 위한 질의문이다
세 가지가 있습니다.
DDL(Data Definition Language, 데이터 정의 언어)
각 릴레이션을 정의하기 위해 사용하는 언어이다
릴레이션은 테이블(엑셀시트 같은거)이라고 생각하면 된다!
CREATE : 릴레이션(테이블) 생성
ALTER : 릴레이션(테이블) 제약조건, 속성 수정
DROP : 릴레이션(테이블) 제거
DML(Data Manipulation Language, 데이터 조작 언어)
데이터를 조회, 추가, 수정, 삭제하는 데이터를 관리하는 언어이다.
테이블 안의 내용을 관리하는 언어!
SELECT: 데이터 조회
INSERT: 데이터 삽입
UPDATE: 데이터 수정
DELETE: 데이터 삭제
DCL(Data Control Language, 데이터 제어 언어)
사용자 관리, 사용자 별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어이다
GRANT: 권한부여
REVOKE: 권한 없앰
SELECT * FROM person WHERE name = 'jihye';
SQL에서 객체를 나타낼 때는 백틱(``)으로 감싸준다!
주석처리는 프로그램에서 동작하지 않는 설명이다.
한줄주석: -- 사용
-- SELECT * FROM person WHERE age = 20; 이 줄은 실행 안 됩니다
여러줄주석: /* 코드 */ 사용
/*
SELECT * c.CustomerId, c.FirstName, count(c.City) as 'City Count'
FROM customers AS c
JOIN employees AS e ON c.SupportRepId = e.EmployeeId
WHERE c.Country = 'Brazil'
GROUP BY c.City
ORDER BY 3 DESC, c.CustomerId ASC
LIMIT 3;
이 줄은 실행 안 됩니다
*/