-
MySQL 기본 문법 - 데이터베이스만들기데이터베이스/MySQL 2020. 9. 24. 18:02
1. MySQL의 기본 구조
MySQL에서 데이터는 전부 데이터 안에 위치한 테이블로 다룬다.
그래서 데이터 베이스와 테이블을 만들고 가장 기초이자 처음에 하는 작업이다.
MySQL에서 자료 구조를 보면 다음과 같다.
데이터 베이스별로 테이블을 여러 개 가질 수 있고 데이터는 각각의 테이블에 저장된다.
테이블은 기본적으로는 상하 구조가 아니라 수평적인 구조를 가지고 있지만, 데이터베이스에 종속된다.
그래서 MySQL에서 데이터를 다루기 위해선 가장 먼저 데이터베이스, 테이블을 만들어줘야 한다.
2. 데이터베이스와 테이블 만들기
아래는 데이터베이스와 테이블을 만드는 코드다.
CREATE DATABASE TestDb; -- 데이터 베이스 생성 USE TestDb; -- 데이터 베이스 선택 CREATE TABLE Student( -- 테이블 생성 Num INT AUTO_INCREMENT PRIMARY KEY NOT NULL, -- 숫자 / 정수형 / 자동 채움 / 고유키 / NULL 허용 안함 Name Varchar(5) NOT NULL, -- 이름 / 스트링(5)자까지 / NULL 허용 안함 Age INT NOT NULL -- 나이 / 정수형 / NULL 허용 안함 ); -- 테이블에 자료 삽입 / 테이블명(테이블 Column명) / Column명의 VALUES 값 / (Column의 VALUES에 들어갈 값) INSERT INTO Student(Num, Name, Age) VALUES (NULL, "홍길동", 10); INSERT INTO Student(Num, Name, Age) VALUES (NULL, "둘리", 12); INSERT INTO Student(Num, Name, Age) VALUES (NULL, "고길동", 13); INSERT INTO Student(Num, Name, Age) VALUES (NULL, "스벤슨", 10); INSERT INTO Student(Num, Name, Age) VALUES (NULL, "김철수", 10); SHOW DATABASES; -- 데이터베이스 보기 SHOW TABLES; -- 테이블 보기
데이터 베이스와 테이블을 만드는 명령어는 다음과 같다.
CREATE
데이터베이스를 만들기 위해선 데이터베이스를 먼저 만들고 다음 테이블을 만든다.이때 CREATE 명령어를 사용하면 된다.
다만 TABLE의 경우 단독으로 만들 순 없고 한 개의 필드라도 만들어줘야 한다.
USE
데이터베이스에 접속할 때 사용한다.
CREATE로 DATABASE를 만들어도 접속하지 않으면 그 안에 TABLE을 만들 수 있다.
이때 'USE + DATABASE명'으로 명령어를 사용하면 접속이 가능하다.INSERT INTO
테이블을 만들고 테이블의 필드에 맞는 value값을 삽입해주는 명령어다.'INSERT INTO + 테이블명( 테이블의 필드명 ) + VALUES + (필드에 대한 Value값)
SHOW
DATABASE와 TABLE을 보고싶을 때 쓴다.3. 테이블을 만들 때
테이블을 만들 때 주의할 점이 있다.
테이블을 만드는 시점에 적어도 하나의 Column 즉 필드가 있어야 한다는 점이다.
위 코드처럼 작성하면 오른쪽같은 테이블이 만들어진다.
그리고 각 필드들은 테이블의 Column 즉 테이블의 열을 맡는다.
그리고 하나 더 필드를 입력해줄 때 들어가는 제약 사항(constraint)이란 것이 있다.
코드상에선 필드명 옆에 붙는 것들로 데이터베이스가 데이터를 받을 때 어떤 기준을 받을지 조건을 만드는 것이다.
제약사항의 종류는 다음과 같다.
NOT NULL
해당 필드에는 NULL 값을 저장할 수 없다.UNIQUE
해당 필드에 속하면 다른 값을 가져야 한다.PRIMARY KEY
해당 필드가 NOT NULL, UNIQUE 두 가지 기능을 모두 갖는 것이다.PRIMARY KEY를 입력하면 해당 필드열에서 중복되지 않는 값이 들어간다.
FOREIGN KEY
해당 제약 조건을 가진 필드는 다른 테이블의 필드값을 참조해온다.DEFAULT
입력 없이도 해당 필드에 기본값으로 들어가는 값을 지정한다.AUTO_INCREMENT
테이블에서 행이 하나씩 늘어날 때마다 숫자가 하나씩 늘어난다.'데이터베이스 > MySQL' 카테고리의 다른 글
MySQL 기본 문법 - 레코드 선택하기 (0) 2020.09.25 MySQL 기본 문법 - 자료 갱신하기 (0) 2020.09.25 MySQL 기본 문법 - 데이터베이스, 테이블, 레코드 삭제하기 (0) 2020.09.25 MySQL 기본 문법 - 데이터베이스 수정하기 (0) 2020.09.25 MySQL이란? (0) 2020.09.22