■ 스키마 & 테이블 생성 (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 |