다덜 DBeaver나 다른 RDBMS에서 클릭하면서 테이블만들고 컬럼 생성하시나요?
실은 쿼리로 테이블과 컬럼을 만들 수 있습니다.
제가 그냥 말단 청소하는 직원이라면 테이블 생성보다는 테이블을 가져다쓰는 일만 많겠지만 인생한방이라고 어떻게 될지 모르는 거 아니겠습니까.
그래서 오늘은 SQL 문법으로 새로운 테이블과 컬럼 만드는 법을 알아보도록 하겠습니다.
렛츠
콩
데이터베이스 생성, 삭제하는 법
CREATE DATABASE 데이터베이스이름
DROP DATABASE 데이터베이스이름
위는 생성 아래는 삭제. 삭제하면 돌이킬 수 없는 강을 건넙니다.
테이블생성
CREATE TABLE 테이블명 (
컬럼1이름 datatype,
컬럼2이름 datatype,
컬럼3이름 datatype,
...
);
원하는 데이터베이스에서 SQL 편집기 실행하여 이렇게 쿼리 쏴주면 됩니다.
datatype 안에 원하는 타입 지정해주면 됩니다.
CREATE TABLE 적자생존 (
id INT,
이름 VARCHAR(100),
나이 INT
)
저는 대충 적자생존 사용자 정보를 저장하는 데이터베이스를 만들고 싶어 함 만들어 봤습니다. 이거 실행하면 진짜 테이블 생깁니다.(ㄹㅇㅍㅌ해보셈) 많이들 하는 실수는 마지막 줄에는 콤마(,) 넣으면 안됩니다.
CREATE TABLE 적자생존_2 (
id INT,
이름 VARCHAR(100) DEFAULT '누구냐넌',
나이 INT
)
컬럼을 만들때 뒤에 디폴트와 값을 입력하면
컬럼에 데이터가 null값이면 기본적으로 채워줍니다.
위에 경우엔 ‘누구냐넌’이 채워지겠군요. 쓰고싶으면 씁니다.
테이블삭제
DROP TABLE 적자생존
실행하면 됩니다.
삭제시 되돌릴….. 수 없습니다.
컬럼 생성, 변경, 삭제
ALTER TABLE 적자생존
ADD 직업 VARCHAR(100);
이러면 적자생존 테이블에 직업 컬럼이 생깁니다.
- 컬럼 추가시 이미 행들이 많이 들어있으면 새로운 컬럼에 들어갈 기본 값은 null 이되는데 그거 말고 다른 걸로 채울라면 위에서 했던 DEFAULT 써주면됩니다.
ALTER TABLE 적자생존
MODIFY COLUMN 나이 FLOAT;
이러면 테이블에 있던 나이 컬럼의 데이터 타입이 변경되는데여
datatype 란에 INT, VARCHAR() 등 아무거나 넣으셔도 됩니다.
하지만 이미 컬럼에 ‘가나다’ 이런 문자가 있는 경우에는 INT 탕입으로 변경하고 이런거는 불가능합니다.
그래서 컬럼을 한번 만들어 놓으면 불가능한 경우가 많아서 변경이 필요하면 새로운 테이블을 또 만들어서 기존 데이터를 옮기는 식으로 하는 방법을 많이 씁니다.
그러니까 처음에 잘해놉시다.
ALTER TABLE 적자생존
DROP COLUMN 직업;
생각해보니까 직업이란 컬럼이 필요없다면 지워줍니다.
근데 열어분 그거 아세요?
어차피 내일이면 다 까먹을테니까 외울필요는 없습니다.
필요할때 구글에다 검색해서 씁시다잉
🐽팁
- 항상 상상한 것 보다 더 큰 문자나 숫자가 들어올 수 있으니 글자수 제한은 넉넉하게 잡기
- 테이블, 데이터베이스를 변경하는 문법들을 DDL이라고 하고 select 어쩌구 이런거는 DML이라고 한다.
- 실은 DBeaver 같은 GUI 툴로도 다할 수 있어서 DDL은 안외워도 전~~~혀 상관없다.
'DI(Digital Innovation) > DataBase & SQL 뽀개기' 카테고리의 다른 글
DB 1, 2 정규형 (1) | 2024.02.23 |
---|---|
컬럼에 안전하게 제약 (Constraints) 주기 (0) | 2024.02.21 |
SQL (IF/CASE) 장인을 꿈꾼다 (0) | 2024.02.21 |
GROUP BY 뽀개기 (0) | 2024.02.19 |
서브쿼리 뽀개기 (0) | 2024.02.19 |