SQL(Structured Query Language)은 관계형 [[데이터베이스]]의 자료를 조회하고 바꾸며 구조를 정의하는 언어다. 프로그램마다 문법과 지원 기능에 차이가 있다. ([PostgreSQL의 SQL 입문](https://www.postgresql.org/docs/current/tutorial-sql.html)) - `SELECT title FROM books`는 books 표에서 title 열을 조회하는 예다. `WHERE`로 조건을 주고 `ORDER BY`로 순서를 명시할 수 있다. ([표 조회](https://www.postgresql.org/docs/current/tutorial-select.html)) - 삽입, 수정, 삭제는 조회와 다른 작업이다. 여러 변경이 함께 성공해야 한다면 [[트랜잭션]]으로 묶어 중간 상태가 남지 않게 한다. ([트랜잭션 입문](https://www.postgresql.org/docs/current/tutorial-transactions.html)) - 결과 순서가 중요하면 정렬 조건을 적는다. 이전 실행에서 우연히 나온 순서를 다음 실행의 약속으로 삼지 않는다. ([조회 결과의 정렬](https://www.postgresql.org/docs/current/tutorial-select.html)) ## 기타 등등 - `DISTINCT`는 조회 결과에서 중복된 행을 제거한다. 원래 표의 데이터를 삭제하는 명령은 아니다. [출처](https://www.postgresql.org/docs/current/tutorial-select.html) - 트랜잭션의 `ROLLBACK`은 아직 확정하지 않은 변경을 취소한다. 실행 취소가 가능하려면 확정 시점을 구분해야 한다. [출처](https://www.postgresql.org/docs/current/tutorial-transactions.html) #데이터베이스 #프로그래밍 #언어