PracticeEveryday

MySQL 본문

DB/MySQL

MySQL

kimddakki 2022. 4. 26. 14:00
CREATE / ALTER
CREATE
// MySQL에서 데이터 베이스와 테이블을 만들기 위한 Query

Ex)
CREATE DATABASE [DB 이름];
CREATE TABLE [TABLE 이름];

CREATE TABLE 테이블 이름 (
  필드 이름 1 필드 타입 1,
  ID INT
  필드 이름 2 필드 타입 2,
  Name VARCHAR(30)
...
);

테이블을 생성하기 위해서는 테이블 이름, 필드(Field) 목록과 각 필드의 타입을 명시해야 합니다.
필드의 타입이란 해당 필드에 저장 될 데이터가 가질 수 있는 데이터 타입을 의미합니다!!

USE

// DATABASE를 만들고 난 후 해당 DB를 사용하기 위해서 사용하는 Query
USE [DB 이름];

DESCRIBE / DESC

// 해당 테이블의 상세 정보를 알기 위한 Query
DESCRIBE ( or DESC) [TABLE 이름];

TABLE의 제약 조건(Contraint)

 

제약 조건이란 데이터를 입력 받을 때 데이터의 무결성을 보장하기 위해 실행되는 검사 규칙을 의미합니다.

 

CREATE TABLE 문에서 사용할 수 있는 제약 조건은 다음과 같습니다.

 

1. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.

2. UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다.

3. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.

4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만듭니다.

5. DEFAULT : 해당 필드의 기본값을 설정합니다.


ALTER

// MySQL에서 데이터 베이스와 테이블을 내용을 수정할 수 있는 Query

 

Ex)

ALTER DATABASE [DB 이름];

ALTER TABLE [TABLE 이름];


데이터 베이스 수정

// 데이터 베이스의 문자 집합이나 콜레이션을 변경할 수 있는 Query

ALTER DATABASE [DB 이름] CHARACTER SET = [문자 집합 이름];         // Charset : 문자 집합

ALTER DATABASE [DB 이름] COLLATE = [콜레이션 이름];             // Collation : 대조

 

데이터베이스를 구축하다보면 텍스트 데이터(Text Data)를 취급해야 할 때가 있다.

이때 반드시 고민해야 하는 것이 있는데, 바로 문자셋(character set)을 선택하는 것이다.

 

/*

CHARACTER SET 종류 : 

utf8: UTF-8 유티코드를 지원하는 문자셋

euckr: 한글을 지원하는 문자셋

 

Collation 은 텍스트 데이터를 정렬(ORDER BY)할 때 사용한다. 즉 text 계열 자료형에서만 사용할 수 있는 속성이다.

int 형 : 1500 < 1700  으로 명확하다.

date 형 : 2013-10-20 < 2015-12-20 으로 명확하다.

- 그렇다면 text 형 :

a  와  b  중 어느 것이 더 큰가?

a 와 A 중 어느 것이 더 큰가?

a 와 á 중 어느 것이 더 큰가?

 

자주 사용되는 COLLATE

1. utf8_bin

2. utf8_general_ci (기본 설정)

3. euckr_bin

4. euckr_korean_ci

ci = case-insensitive 를 의미하며 대소문자를 구분하지 않게 설정함.

*/

이런 것을 정해주는 것이 CHARACTER SET , COLLATE


테이블 수정

 

// 테이블 새로운 필드 추가하는 Query

ALTER TABLE [테이블 이름] ADD [필드 이름] [필드 타입]

 

ALTER TABLE Reservation ADD phone INT;

Reservation 테이블에 phone이라는 필드를 INT 데이터 타입으로 추가해줘

 

 

// 기존 필드 삭제하는 Query

ALTER TABLE [테이블 이름] DROP [필드 이름]

 

ALTER TABLE Reservation DROP RoomNum;

Reservation 테이블에 RoomNum이라는 필드를 삭제해줘

 

// 필드 타입을 변경하는 Query

ALTER TABLE [테이블 이름] MODIFY COLUMN [필드 이름] [필드 타입];

 

ALTER TABLE Reservation MODIFY COLUMN ReserveDate VARCHAR(20);

Reservation 테이블의 ReserveDate 필드의 데이터 타입을 VARCHAR(20)으로 바꿔줘

 


 

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'DB > MySQL' 카테고리의 다른 글

MySQL  (0) 2022.04.28
MySQL  (0) 2022.04.27
MySQL  (0) 2022.04.25
RDBMS  (0) 2022.04.24
SQL  (0) 2022.04.23
Comments