함께하는 데이터 분석

[SQL] 데이터 정의어(DDL) 본문

데이터분석 공부/SQL

[SQL] 데이터 정의어(DDL)

JEONGHEON 2022. 4. 18. 20:51

안녕하세요!

 

오늘은 SQL 명령어 4가지 중 하나인

 

데이터 정의어(DDL)에 대해 알아보겠습니다.

 

데이터 정의어는 우리가 사용할 테이블을

 

생성, 변경, 삭제를 할 때 사용하는 명령어입니다.

 

코드를 통해 알아보겠습니다.

 

 

데이터 베이스 생성 및 사용

/* 데이터베이스 da 생성 */
create database da;

데이터 베이스 da가 생성된 것을 알 수 있습니다.

 

이 데이터 베이스 da에 테이블을 만들려면 데이터베이스를 사용해야겠죠?

 

/* 데이터베이스 da 사용 */
use da;

데이터 베이스 da를 사용할 수 있게 되었습니다.

 

이제 테이블을 만들어보겠습니다.

 

 

테이블 생성

/* 테이블 생성 */
create table 인적사항 ( 
인덱스 int primary key,
이름 varchar(10),
생년월일 date not null,
성별 bit
);

인적사항이라는 이름의 테이블을 생성했습니다.

 

column에는 인덱스, 이름, 생년월일, 성별을 넣어줬습니다.

 

인덱스에는 정수로, 이름은 최대 10바이트 문자로

 

생년월일은 날짜로 지정해줬습니다.

 

여기서 제약조건을 걸어줬습니다.

 

primary key는 중복이 없고, null이 없는 것입니다.

 

not null은 말 그대로 null이 없는 것입니다.

 

그렇다면 테이블이 제대로 생성됐는지 확인해보겠습니다.

 

 

테이블 조회

/* 테이블 조회 */
select * from 인적사항;

이렇게 테이블 안의 값을 넣어주지 않았지만

 

테이블이 생성되어있는 것을 확인할 수 있습니다.

 

이번에는 새로운 열을 추가해보겠습니다.

 

 

테이블 열 생성

/* 테이블 열 생성 */
alter table 인적사항 add 나이 int;

테이블의 열을 생성한 뒤 

 

테이블을 조회해본 결과입니다.

 

나이라는 새로운 열이 생성됐죠.

 

이번에는 테이블의 열 속성을 변경해보겠습니다.

 

 

테이블 열 데이터 타입 변경

/* 테이블 열 데이터 타입 변경 */
alter table 인적사항 modify 성별 varchar(2);

성별의 열 속성이 bit에서 varchar(2)로 바뀐 것을 확인할 수 있습니다.

 

이제 테이블 열 이름을 변경해보겠습니다.

 

 

테이블 열 이름 변경

/* 테이블 열 이름 변경 */
alter table 인적사항 change 나이 연령 int;

테이블의 나이라는 열이 연령으로 변경됐습니다.

 

이번에는 테이블 이름을 바꿔볼게요.

 

 

테이블 이름 변경

/* 테이블 이름 변경 */
alter table 인적사항 rename 가족정보;

이제 테이블 이름이 인적사항에서 가족정보로 변경됐습니다.

 

마지막으로 테이블을 삭제해보겠습니다.

 

 

테이블 삭제

/* 테이블 삭제 */
drop table 가족정보;

이렇게 테이블이 삭제된 것을 알 수 있습니다.

 

다음 시간에는 데이터 조작어(DML)을 통해

 

테이블에 데이터를 넣은 후 삽입, 조회, 수정, 삭제를 해보겠습니다!

'데이터분석 공부 > SQL' 카테고리의 다른 글

[SQL] 데이터 조회 - SELECT  (0) 2022.04.21
[SQL] 트랜젝션 제어어(TCL)  (0) 2022.04.20
[SQL] 데이터 제어어(DCL)  (0) 2022.04.20
[SQL] 데이터 조작어(DML)  (0) 2022.04.19
[SQL] MySQL 및 Workbench 설치(mac OS)  (0) 2022.04.15