티스토리 뷰

안녕하세요?

 

이전에 데이터 관련 명령어를 포스팅 했었는데 사실 그 보다 더 우선적으로

선행 되어야하는 테이블 관련 명령어에 대해서 알아보겠습니다.

이 전 내용 참고하세요!

 

SELECT / INSERT / UPDATE / DELETE

안녕하세요? 모든 프로그램은 데이터를 가지고있고, 그 데이터는 데이터베이스를 사용한다고 해도 과언이 아닌데요. 이번엔 MySQL의 데이터베이스 명령어에 대해 알아보겠습니다. 가장 기초적인 SELECT (조회) / I..

moon15.tistory.com

 

이 전에 사용했던 직원 테이블을 만들어보겠습니다.

 

1. 생성

CREATE TABLE 직원 (

    번호 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

    이름 VARCHAR(30) NOT NULL,

    부서 VARCHAR(30),

);

 

직원 테이블이 생성되었습니다.

위에 보시는 것과 같이 테이블을 생성할 때는 필드명, 자료형, 제약조건 순서로 입력합니다. 

 

2. 조회

생성한 테이블의 자료형은 무엇이었는지, 필드는 어떤게 있는지 확인할 수 있습니다.

 

DESC 직원;

Field Type Null Key Default Extra
번호 int NO PRI null auto_increment
이름 varchar(30) NO   null  
부서 varchar(30) YES   null  

 

SHOW TABLES;

Tables_in_db
직원
급여

모든 테이블을 보여줍니다. 갑자기 급여받고 싶네요.

 

3. 수정

테이블의 컬럼을 추가하거나, 컬럼의 이름을 수정하거나 할 수 있습니다.

 

ALTER TABLE 직원 ADD 직급 VARCHAR(30);

Field Type
번호 int
이름 varchar(30)
부서 varchar(30)
직급 varchar(30)

이전 포스팅에서 있었던 직급 컬럼을 추가했습니다.

 

ALTER TABLE 직원 MODIFY 부서 VARCHAR(50) NOT NULL;

Field Type Null
번호 int NO
이름 varchar(30) NO
부서 varchar(50) NO
직급 varchar(30) YES

부서의 타입을 변경해줬습니다.

 

ALTER TABLE 직원 CHANGE 이름 성함 VARCHAR(30) NOT NULL;

Field Type Null
번호 int NO
성함 varchar(30) NO
부서 varchar(50) NO
직급 varchar(30) YES

기존에 이름이라는 필드를 성함으로 바꿔봤습니다.. 있어보이나요?

 

ALTER TABLE 직원 DROP 직급;

Field Type Null
번호 int NO
성함 varchar(30) NO
부서 varchar(50) NO

애써 만든 직급 필드를 날렸습니다. 요샌 직급을 따로 두지 않는 수평적 조직문화가 대세... 맞죠?

 

4. 삭제

DROP TABLE 직원;

Tables_in_db
급여

직원 데이터 뿐만 아니라 테이블 통채로 날려버렸습니다.. 역시 조심히 사용하세요 ㅎㅎ

 

오늘도 이만해야겠습니다.