MySQL 사용법, 데이타베이스 & 테이블 & 컬럼 생성하기

Updated on 2021-10-02 by

여기에서는 MySQL 사용법으로 데이타베이스 생성, 테이블 생성, 데이타를 입력할 컬럼 생성 방법들을 살펴봅니다.

데이타베이스 생성

데이타베이스 생성은은 아래 명령을 사용합니다.

CREATE DATABASE Database_name default CHARACTER SET UTF8;Code language: PHP (php)
  1. GRANT는 사용자에게 데이터 베이스의 사용 권한을 적용
    ALL PRIVILEGES는 데이터베이스에 대한 모든 권한을 부여하는 명령
    이 권한으로 데이터베이스 삭제도 가능
  2. ON Database_name.*
    권한 부여 대상을 데이터베이스 Database_name로 지정
    Database_name.* 는 데이터베이스 Database_name의 모든 테이블에 권한을 미친다는 것을 의미
  3. TO User_name@localhost
    사용 권한을 받는 사용자는 User_name이며
    localhost는 말 그대로 로컬에서만 연결 가능(127.0.0.1)
  4. IDENTIFIED BY ‘password’ 사용자의 비밀번호 설정
GRANT ALL PRIVILEGES ON Database_name.* TO study_user@localhost IDENTIFIED BY 'study';

Code language: PHP (php)

테이블 생성 및 컬럼 생성

테이블 생성 문법은 아래와 같습니다.

  • IF NOT EXISTS 명령은 데이타베이스에 이미 있는 테이블 이름이라면 오류를 발생하기 때문에, 이런 불필요한 우류를 발생하지 않으려면 이 명령으로 스킵하도록 만듭니다.
  • tableName : 작성하려는 테이블의 이름으로 정규화된 이름이어야 합니다.
  • 테이블 이름은 따옴표없이 또는 `tableName ‘과 같은 백틱 기호를 사용해 지정할 수 있습니다.
  • 엔진(ENGINE)은 테일블을 저장한 스토리지 엔진을 지정할 수 있습니다.
    기본은 InnoDB로 아무런 지정하지 않으면 InnoDB로 지정됩니다.
    . MEMORY
    . CSV
    . HEA 등을 대신할 수 있다,
  • 체크섬
    전체 테이블에 대한 체크섬을 저장하려면 1로 설정합니다.
    이는 일반적으로 손상된 테이블이 없는지 확인하는데 사용됩니다.
CREATE TABLE IF NOT EXISTS tableName ( 
    column1 datatype, 
    column2 datatype, 
    .... 
)
ENGINE='MEMORY',
CHECKSUM=1;Code language: PHP (php)

테이블 이름 명명법

A. 테이블 이름에 사용되는 문자

  • 기본 문자를 모두 사용할 수는 있지만
  • 숫자만으로 테이블 이름은 지을 수 없습니다.
    예를들어 ‘23456’은 테이블 이름으로 사용할 수 없습니다.
  • 테이블 이름에서 사용할 수 있는 문자 목록
    . ASCII : [0-9, a-z, A-Z $ _] 
    . 확장 : U + 0080 .. U + FFFF
  • 테이블 및 데이터베이스 이름은 백틱 문자(`)로 인용 가능
  • 테이블 및 데이타베이스 이름에는 마침표(.)를 사용할 수 없음
  • 테이블 및 데이터베이스 이름에는 ‘$’및‘_’특수 문자가 포함될 수 있음

이름 길이 : 64문자

컬럼 생성 문법

  • 컬럼 중 기본 키로 설정된 컬럼에는 primary key 옵션을 추가합니다.
    아래 생성한 customer 테이블에서는 ID컬럼에 기본키(primary key)옵션을 주었습니다.
  • 컬럼 중 기본 키로 설정된 컬럼에는 AUTO_INCREMENT 옵션을 사용할 수 있습니다.
    이는 ID와 같은 컬럼에 자동으로 1,2,3,4,처럼 값이 증가되는 것입니다.
  • not null 옵션은 컬럼값을 반듯이 채워야 한다는 것 의미
    기본은 빈칸을 허용하는 null임
  • 컬럼 이름 다음에는 컬럼 속성 부여, int(정수), char(문자) 등
CREATE TABLE IF NOT EXISTS customer ( 
   ID           int                      not null AUTO_INCREMENT primary key,
   name      varchar(20)     not null,
   age          int                     null,
   address      char(25)          null,
   salary       decimal(18, 2)   null
)
ENGINE='MEMORY';Code language: PHP (php)

테이블 복제 및 복사

이미 만들어 운영하고 있는 데이블을 그대로 복제하거나 테이블 형식만 복사항 필요가 있습니다.

LIKE 명령으로 테이블 복제

LIKE 명령을 사용하면 기존 테이블과 동일한 이름 및 속성을 가진 새로운 테이블을 만들 수 있습니다. 이 명령 사용 문법은 아래와 같습니다.

CREATE TABLE tableName1 LIKE tableName2Code language: PHP (php)

이 명령을 사용하면 실제 테이블 데이터는 없는 열 이름과 속성만 복제됩니다.

SELECT 명령을 사용해 테이블 복제

위의 LIKE 명령과 달리 SELECT 명령을 사용하면 테이블의 속성과 데이터가지 모두 복사됩니다. 완전히 똑같은 새로운 테이블이 만들어지는 것으로, 거의 백업과도 같다고 볼 수 있습니다.

CREATE TABLE tableName1 AS SELECT * FROM tableName2;Code language: PHP (php)

참고

MySQL 사용법, 데이타베이스 & 테이블 & 컬럼 생성하기

MySQL 사용법, 최근 데이터 조회 방법, 최근 3개월 데이터 등등

MySQL 사용법, 데이터 추출 기간 설정하기, 날짜 범위 데이터 추출 방법

MySql 최적화로 빨라질 사이트 DB 튜닝 방법

새롭게 뉴스레터를 시작했습니다.

1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Subscribe
Notify of
guest
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments