MySQL 문법 - 6 (CREATE)
CREATE
CREATE DATABASE
데이터베이스를 만드는 역할, 이 글에서 소개할 방식은 workbench에서 GUI를 통해 만드는 법이다.
간단하게 SQL문을 짜주는 사이트도 많고, 직접 타이핑 해서 만들어도 되고 선택은 자유롭고 편한 방식을 찾아서 하면 될 일이다.
CREATE DATABASE [데이터베이스명] 을 통해서 생성하며, 보이지 않는다면 왼쪽 위 schemas 오른쪽에 있는 새로고침 버튼을 눌러주면 나온다.
테이블을 조작하려면 Tables를 우클릭 한 뒤
CREATE Table... 을 눌러주면 된다.
여기서 만들어주는 것은 어렵지 않다. 원하는 Datatype을 선택하고, 체크하고, 이름바꾸고..
다 만들었다면 오른쪽 아래의 APPLY를 눌러주면 된다.
그렇다면 이런 창이 뜰 것이다.
이제 APPLY를 눌러주고 FINISH 해주면 된다.
이렇게 만들었다면 USE [데이터베이스명]; 을 한 뒤 SHOW TABLES; 를 해주면 만든 테이블이 나올 것이다.
CREATE TABLE
테이블을 만드는 역할
형태는
CREATE TABLE [새로 만들 테이블명] ( 정보 );
이다.
만약 단순히 CREATE TABLE [테이블명] 이렇게 작성하면 ERROR CODE 4028을 받아볼 수 있다. 적어도 하나의 column이 필요하다. ERROR CODE 1020은 이미 테이블명이 같은 테이블이 존재하는데 생성하려 할 경우 발생하는 에러이다.
( 정보 ) 안에는 sql 형식에 따라 적혀진 코드들을 적으면 된다.
이미 존재하는 테이블을 복사해오려면 다음과 같이 코드를 작성하면 된다.
CREATE TABLE [새로 만들 테이블명] AS SELECT [가져올 데이터] FROM [복사하려는 테이블];
ALTER TABLE
테이블을 수정하는 역할
ADD
테이블에 column을 추가하는 역할
ADD [추가할 column 이름] (정보) 와 같은 형태를 가진다.
MODIFY
테이블의 column을 수정하는 역할, 자료형(타입)을 변경한다.
MODIFY [수정할 column 이름] (정보) 와 같은 형태를 가진다.
DROP
테이블의 column을 삭제하는 역할
DROP [삭제할 column 이름] 와 같은 형태를 가진다.
테이블의 데이터를 수정하는 명령어들
INSERT
테이블에 데이터를 추가하는 역할.
INSERT INTO [테이블 이름] VALUE (데이터들(칼럼에 맞게 작성)) 와 같이 작성한다.
테이블 이름 뒤에 나오는 열은 생략가능하지만 생략한 경우 VALUE 다음에 나오는 값의 개수와 순서가 테이블에 정의된 열의 개수와 순서가 일치해야한다.
WORKBENCH를 이용하는 경우 직접 수정 및 입력을 할 수도 있다.
다른 테이블에 데이터를 가져올 수도 있다.
INSERT INTO [테이블명] SELECT [가져올 값들] FROM [가져올 곳] 와 같이 작성한다.
UPDATE
테이블의 데이터를 수정하는 역할.
UPDATE [테이블명] SET ([column명] = [값],) WHERE [PrimaryKey값] 와 같이 작성한다.
WHERE 없이 사용할 시 값이 전부 바뀌게 되므로 반드시 주의하여야 한다.
DELETE
행 단위로 데이터를 삭제하는 역할.
DELETE FROM [테이블명] WHERE [PrimaryKey값] 와 같이 작성한다.
신기하게도 데이터는 사라지지만 테이블 용량은 줄어들지 않는다, 대신 복구가 가능하다.
원하는 데이터만 지울 수 도 있고, 삭제 후 되돌리기가 가능하다.
마찬가지로 WHERE 없이 사용시 전부 다 지워버리므로 주의해야한다!
TRUNCATE
행과 인덱스 자체를 완전히 삭제하는 역할.
TRUNCATE FROM [테이블명] 과 같이 작성한다.
테이블을 삭제하는 것은 아니고 데이터만 삭제한다.
선택해서 지우는 것이 아니라 한꺼번에 다 지워야 하고, 삭제 후 절대로 되돌릴 수 없다.
DROP
테이블 자체를 날려버린다!
DROP [테이블명] 과 같이 작성한다.
삭제 후 절대로 되돌 릴 수 없다.
DROP [데이터베이스] 로 데이터베이스도 날릴 수 있다.
마찬가지로 복구 불가다.