표준 관계 데이터베이스에 접근하고, 조작하기 위한 표준 언어로서 데이터베이스에 데이터를 더하거나, 빼거나, 수정하거나, 바꿀 때(CRUD) 유용하다.
쉽게 말해 데이터 베이스와 대화하기 위해 특별히 디자인 된 언어이다. HTTP와 같은 느낌으로 생각하면 편하다. 다시 말하면 데이터베이스에서 CRUD를 하기위해 대화를 해야하는데 언어가 다르면 소통이 안되니까 표준화된 언어라고 생각하면 된다.
데이터 베이스 종류에는 Relational과 Non-Relational가 있다. RDB(관계형 데이터 베이스)에는 SQL을 쓰고, Non relational database는 Non SQL을 쓴다.
관계형 데이터베이스를 관리 할 때 유용한 프로그래밍 언어다.
RDBMS 중 하나로서, SQL이라는 언어를 사용할 수 있는 시스템이다. 즉, 데이터가 체계적으로 배열, 유지되도록 돕는 소프트웨어다.
SQL 문법은 마치 실제 영어처럼 보여서 쉽게 사용할 수 있는데 왜 개발자들은 SQL을 잘 모르는 걸까? ORM 때문이다. 프로그래밍 언어를 가져와서 SQL 코드로 바꿔주는 일을 한다. nodeJS의 경우 Sequelize || type ORM이 있다.
하지만 위와 같이 ORM 보다 SQL을 써서 작동이 빨라지는 경우도 있으니, 우리는 둘 다 사용할 줄 알면 좋겠다.
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명=값;
해당 테이블의 해당 컬럼의 데이터를 불러온다. 컬럼 전체를 불러오고 싶을때는 컬럼명 부분에 '*' 를 쓰면 된다. WHERE 구문을 추가하여 해당 조건이 참인 데이터만 불러온다.
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3) VALUES (값1, 값2, 값3);
UPDATE 테이블명 SET 컬럼명 = 변경할 값 WHERE 컬럼명=값;
테이블에 있는 데이터의 컬럼의 값을 변경한다. WHERE절에 맞는 데이터만 변경한다. 변경해야할 컬럼이 여러개일 때 콤마(,)를 사용하여 여러개의 값을 변경할 수 있다.
DELETE from 테이블명 WHERE 컬럼명=값;
WHERE절에 맞는 데이터만 삭제한다. 모든 데이터를 삭제하고 싶으면 WHERE문을 제외하고 사용하면 된다.