:테이블을 조작할 때 쓰인다. 대규모. 건축, 리모델링.
CREATE, ALTER, DROP
CREATE: 테이블을 만들 때 쓰인다.
테이블 뿐 아니라 사용자 계정이나 데이터베이스 자체를 만들 때도 쓰인다.
ALTER: 테이블의 열을 추가하거나 삭제할 때, 또는 열의 데이터 타입을
바꿀 때 사용한다.
ALTER TABLE products ADD new_column VARCHAR(20); --컬럼 추가
ALTER TABLE products MODIFY new_column INT; --데이터 타입 변경.
ALTER TABLE products DROP new_column; --컬럼 삭제
DROP: 컬럼이나 테이블을 삭제한다.
:테이블 안의 데이터를 조작할 때 쓰인다. 소규모.
SELECT, INSERT, UPDATE, DELETE
SELECT: 테이블 내의 데이터를 선택한다.
INSERT: 데이터를 삽입할 때 쓴다.
INSERT INTO user (name, age, address) VALUES('호넷',3000,'신성둥지');
UPDATE: 행의 내용을 바꾼다.
UPDATE user SET name='가스터' WHERE id=13;
DELETE: 행을 삭제한다.
※ALTER와 UPDATE
: ALTER는 테이블 구조 단위로 바꾼다. 열(컬럼), 데이터 타입 등등.
UPDATE는 특정 행의 내용을 바꾼다.
ALTER가 바꾸는 범위가 좀 더 크다.
비유하자면, ALTER는 리모델링이고, UPDATE는 가구 몇 개 버리고 새 가구로 바꾸는 정도.
※DROP과 DELETE
: 이것도 마찬가지. DROP은 열이나 테이블을 삭제하며,
DELETE는 특정 행만 삭제한다.
다만 DROP으로 열을 지울 때는 ALTER를 같이 써야 한다.
행과 열의 특성과 구조를 잘 생각해보자.
행은 자유롭게 내가 추가할 수 있는 부분이지만,
열은 처음 테이블을 만들 때부터 정해져 있는, 테이블의 일부다.
쉽게 바꿀수 있는 부분이 아니다.
책꽂이를 생각해보자. 일체형.
책꽂이 칸 수가 5개인데, 그 중 한 칸만 버리려면 어떻게 해야 할까.
아마 톱으로 잘라내거나 해야 할 것이다.
열을 없앤다는 건 그런 것이다.
:사용자에게 권한을 주거나 회수할 때 쓰인다.
GRANT, REVOKE
GRANT: 사용자에게 권한을 부여한다.
GRANT ALL PRIVILEGES ON . TO 'sesac'@'%' WITH GRANT OPTION;
REVOKE: 사용자에게서 권한을 박탈한다.
REVOKE ALL PRIVILEGES ON . TO 'sesac'@'%' WITH GRANT OPTION;