back to top
-2.8 C
New York
목요일, 12월 26, 2024

Buy now

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

여기에서는 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 튜닝 방법

spot_img

Latest articles

Related articles

spot_img