본문 바로가기

DBMS

SQL 명령어 [DDL]

■ 스키마 & 테이블 생성 (create)

· SQL Editor 열기

: 상단 메뉴 [File] - [New Query Tab] 선택

: 또는 상단 메뉴바 첫 번째 SQL 아이콘(Create a new SQL tab ~) 선택

 

· 스키마 생성 SQL문

: create database [스키마(데이터베이스)명];

create database company;

 

· 테이블 생성 SQL문

: create table [스키마명.테이블명] (

  [컬럼 1] [데이터타입] [제약조건],

  [컬럼 2] [데이터타입] [제약조건],

  ...

  ) decault character set = utf8;

create table `company`.`human_resources` (
	employee_number int auto_increment primary key,
    employee_name varchar(50) not null,
    employee_age int not null,
    employee_score int not null,
    employee_email varchar(100)
)
default character set = utf8;

 

- 컬럼: 테이블에 포함될 열의 이름
- 데이터타입: 각 열의 데이터 유형을 정의 (ex. 문자, 숫자, 날짜)

 

+ GUI 방식으로 스키마 & 테이블 생성

· GUI (Graphic User Interface)
: 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 등의 그래픽으로 나타낸 것이다.

· 인코딩 (encoding)
: 정보의 형태나 형식을 변환하는 처리나 처리 방식을 말한다.
☞ utf-8: 전 세계에서 가장 많이 사용하는 유니코드 인코딩

· 데이터베이스 생성
>> 왼쪽 상단의 메뉴바 네 번째의 스키마 아이콘 선택
>> 스키마명 입력 → 인코딩 설정 [utf8], [utf8_general_ci]로 설정

· 테이블 생성
>> 좌측 Navigator 패널(Schema)에서 생성하고자 하는 위치의 스키마 선택 (더블 클릭)
>> 선택된 스키마 [Tables]에서 마우스 오른쪽 클릭 → [Create Table] 선택
>> 테이블 설정 (테이블명, 칼럼명, 칼럼 조건 지정)
>> 반드시 Apply 버튼 클릭!

 

 


■ 테이블 수정 (alter)

· 열 추가 / 수정 / 삭제 SQL문

: alter table [테이블명] add / modify / drop column [컬럼명] [데이터타입] [제약조건];

-- 열 추가
alter table `human_resources` 
add column employee_vacation_date date;

-- 열 수정
alter table `human_resources`
modify column employee_email varchar(150) not null;

-- 열 삭제
alter table `human_resources`
drop column employee_score;

 

· 열 이름 변경 (change) SQL문

: change column [기존 열이름] [새로운 열이름] [데이터타입] [제약조건]

alter table `human_resources`
change column `employee_number` `employee_num` int;

 

· 제약 조건 수정 SQL문

: add [제약조건] (열이름);

 

+ GUI 방식으로 열 추가 / 수정 / 삭제

>> 좌측 Navigator 패널에서 변경하려는 테이블 우클릭
>> [Alter Table] 선택 → 열 추가 / 수정 / 삭제
>> 반드시 Apply 버튼 클릭!

 

 


■ 테이블 삭제 (drop)

· 스키마 삭제 SQL문

: drop database [스키마명];

drop database `company`;

 

· 테이블 삭제 SQL문

: drop table [스키마명].[테이블명];

drop table `company`.`human_resources`;

 

☞ 스키마를 선택한 경우에는 테이블명만 작성 가능

 

+ GUI 방식으로 스키마 & 테이블 삭제

>> 좌측 Navigator 패널에서 삭제하고자 하는 스키마 or 테이블 우클릭
>> [Drop Schemas] 또는 [Drop Table] 선택

 

 


truncate

 

 


■ 실습

# 스키마 생성

: 스키마 이름 (practice)

create database practice;

 

# 스키마 선택

use practice;

 

# 테이블 설계

: 테이블 이름 (stucents)

 

- StudentID: 학생을 유일하게 식별하는 ID.
- FirstName: 학생의 이름.
- LastName: 학생의 성.
- Age: 학생의 나이.
- Major: 학생의 전공.
- Email: 학생의 이메일.

 

☞ 데이터타입 및 제약조건

- StudentID: INT, PRIMARY KEY, NOT NULL
- FirstName: VARCHAR(50), NOT NULL
- LastName: VARCHAR(50), NOT NULL
- Age: INT, CHECK(Age >= 18 AND Age <= 100)
- Major: VARCHAR(100)
- Email: VARCHAR(100), UNIQUE

CREATE TABLE Students (
    StudentID INT PRIMARY KEY NOT NULL,
    FirstName VARCHAR(50) NOT NULL,
    LastName VARCHAR(50) NOT NULL,
    Age INT CHECK(Age >= 18 AND Age <= 100),
    Major VARCHAR(100),
    Email VARCHAR(100) UNIQUE
);

 

# 열 추가 / 수정 / 삭제

- Students 테이블에 Gender 칼럼을 추가합니다.
  : 데이터타입 VARCHAR(10)
- Students 테이블의 Age 칼럼 데이터 타입을 수정합니다.
  : 데이터타입 SMALLINT로 수정

alter table students add gender varchar(10);
alter table students 
modify column age smallint CHECK(Age >= 18 AND Age <= 100);

 

# 테이블 & 스키마 삭제

drop table students;
drop database practice;

'DBMS' 카테고리의 다른 글

DML [insert, update, delete]  (0) 2023.11.07
DML [select]  (0) 2023.11.06
SQL 명령어 [DML]  (0) 2023.11.05
데이터 형식 [숫자형, 문자형, 날짜형]  (1) 2023.11.02
데이터베이스(DB) [DBMS, SQL]  (0) 2023.11.02