Posts MySQL 기초(1)
Post
Cancel

MySQL 기초(1)

1. Create (생성)


1.1 Database

1
2
3
CREATE DATABASE <database_name>;

CREATE DATABASE test;
  • 데이터 베이스 생성은 CREATE DATABASE 명령어를 사용


1.1.1 Database 선택

1
2
3
USE <database_name>;

USE test
  • 데이터 베이스의 선택은 USE 명령어를 사용


1
SELECT DATABASE()
  • 현재 데이터 베이스 확인은 SELECT DATABASE() 명령어를 사용


1.2 Table

CREATE TABLE <table_nanme> (
    column_name_1 column_data_type_1 column_constraint_1,
    column_name_2 column_data_type_2 column_constraint_2,
    ...
)
  • CREATE TABLE (컬럼 이름, 데이터 타입, 제약조건)으로 테이블을 생성함


1.2.1 제약 조건이 없는 테이블 생성의 예시

CREATE TABLE user1(
    user_id INT,
    name Varchar(20),
    email Varchar(30),
    age INT(3),
    rdate DATE
)
  • 제약 조건은 생략이 가능하다
  • 괄호안의 숫자는 글자수로 해당 글자수 까지 저장이 가능하다는 의미
  • varchar는 가변 가능한 데이터 타입으로 n이 30이여도 30글자까지는 저장 가능하다
  • char도 있는데, 이는 고정길이이다.


1.2.2 제약 조건이 있는 테이블 생성의 예시

CREATE TABLE user2(
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    name Varchar(20) NOT NULL,
    email Varchar(30) UNIQUE NOT NULL,
    age INT(3) DEFAULT '30',
    rdate TIMESTAMP
)
  • PRIMARY KEY : 기본키이며 데이터를 고유하게 정의하는 것, 유니크하며 Null값을 가질수 없다
  • AUTO_INCREMENT : 자동으로 증가하는 옵션 간단하게 인덱스라고 생각해도 될듯 하다
  • NOT NULL : Null값을 가질수 없다
  • UNIQUE : 중복값이 없이 유니크 해야함
  • DEFAULT : 뒤에 있는 값을 기본값으로 설정
  • TIMESTAMP : 1970-01-01 00:00:00 부터 지금까지 지난 시간을 초단위로 기록하는 방식


2. Alter (수정)


2.1 Database

1
show variables like "character_set_database";
  • 현재 문자열 인코딩을 확인


1
2
ALTER DATABASE test CHARACTER SET = utf8;
ALTER DATABASE test CHARACTER SET = ascii;
  • ALTER 명령어를 사용하여 데이터 베이스의 Encoding을 변경 가능
  • 위는 test 데이터 베이스를 utf8과 ascii로 변경하는 코드


2.2 Table

2.2.1 Add (추가)

1
ALTER TABLE user2 ADD tmp TEXT;
  • ALTER를 사용하여 user2 테이블에 TEXT 데이터 타입을 갖는 tmp 컬럼을 추가함


2.2.2 Modify (수정)

1
ALTER TABLE user2 MODIFY COLUMN tmp INT(3);
  • ALTER를 사용하여 user2 테이블에 INT(3) 데이터 타입을 갖ㄴ느 tmp 컬럼으로 수정


2.2.3 Drop

1
ALTER TABLE user2 DROP tmp;
  • ALTER를 사용하여 user2 테이블의 tmp 컬럼을 삭제함


3. Drop


3.1 Database

1
2
CREATE DATABASE tmp;
SHOW DATABASES;
  • Create를 사용하여 tmp 데이터 베이스 생성


1
2
DROP DATABASE tmp;
SHOW DATABASES;
  • Drop을 사용하여 tmp 데이터 베이스 삭제


3.2 Table

1
CREATE DATABASE tmp;
  • Create를 사용하여 tmp 데이터 베이스 생성


1
USE tmp;
  • USE를 사용하여 tmp 데이터 베이스 선택


1
CREATE TABLE tmp(id INT);
  • CREATE를 사용하여 tmp 테이블 생성


1
DROP TABLE tmp;
  • Drop을 사용하여 tmp 테이블 삭제


4. Insert


4.1 Syntax

1
2
INSERT INTO <table_name>(<column_name_1>, <column_name_2>, ...)
VALUES(<value_1>, <value_2>, ...)
  • 테이블 이름 뒤에 오는 컬럼 이름은 생략이 가능하며 대신에 Values 뒤에 value값은 순서대로 와야 함


1
2
3
4
5
INSERT INTO <table_name>(<column_name_1>, <column_name_2>, ...)
VALUES (<value_1>, <value_2>, ...),
(<value_1>, <value_2>, ...),
...
(<value_1>, <value_2>, ...);
  • 여러개의 Row를 한꺼번에 Insert함
  • VALUES가 여러개임


4.2 실습

1
USE test;
  • test 데이터 베이스 선택


1
2
3
4
5
6
7
INSERT INTO user1(user_id, name, email, age, rdate)
VALUES (1, "jin", "pdj@gmail.com", 30, now()),
       (2, "peter", "peter@daum.net", 33, '2017-02-20'),
       (3, "alice", "alice@naver.com", 23, '2018-01-05'),
       (4, "po", "po@gmail.com", 43, '2002-09-16'),
       (5, "andy", "andy@gmail.com", 17, '2016-04-28'),
       (6, "jin", "jin1224@gmail.com", 33, '2013-09-02');
  • user1 테이블에 user_id, name, email, age, rdate를 입력
This post is licensed under CC BY 4.0 by the author.