1. CREATE
MySQL, MariaDB 에서는 다음과 같은 CREATE 문을 사용하여 데이터베이스와 테이블을 만들 수 있습니다.
- 데이터베이스 생성
CREATE DATABASE 데이터베이스이름
- 데이터베이스 선택
USE 데이터베이스이름
- 테이블 생성
데이터베이스는 하나 이상의 테이블로 구성되며, 이러한 테이블에 데이터를 저장하여 관리할 수 있습니다.
CREATE TABLE 테이블이름
(
필드이름1 필드타입1,
필드이름2 필드타입2,
...
)
테이블을 생성하기 위해서는 테이블 이름, 필드(field) 목록과 각 필드 타입을 명시해야 합니다.
2. PrimaryKey
Primary Key 혹은 기본키라고 불리어지는 이 키는 테이블에 오직 한개만 존재하는 키 입니다. 기본키로 지정되는 순간 NOT NULL과 UNIQUE제약 조건의 특징을 가지게 되며 하나 이상의 컬럼이 그룹화 되어 기본키로 사용되는 경우도 있습니다. 기본적으로 테이블을 생성할 때 특정컬럼에 기본키를 설정하여 생성하지만 이미 생성된 테이블이라 할지라도 기본키를 설정할 수 있습니다.
테이블을 만들면서 기본키도 같이 지정하는 쿼리문입니다.
CREATE TABLE COMBOOK
(
ID INT PRIMARY KEY,
NAME VARCHAR(30),
CONTENT VARCHAR(500)
)
새로운 컬럼을 추가하면서 기본키도 같이 지정해주는 쿼리문입니다.
ALTER TABLE COMBOOK
ADD ADDFIELD VARCHAR(30) PRIMARY KEY
기존에 존재하는 컬럼을 기본키로 설정하는 쿼리문입니다. 기존 컬럼을 기본키로 설정할 경우 기존 컬럼 값에 NULL이 없는지 미리 확인해야 합니다.
ALTER TABLE COMBOOK
MODIFY COLUMN ID INT PRIMARY KEY
3. Auto Increment
테이블에 값이 입력될 때 자동으로 값이 증가하게 하는 기능입니다. PrimaryKey를 만드는데 유용합니다.
테이블을 만들면서 Auto Increment 옵션을 주는 경우입니다.
CREATE TABLE test
(
num int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(10) NOT NULL
)
이미 생성된 컬럼에 Auto Increment 옵션을 추가할 수도 있습니다.
ALTER TABEL TEST MODIFY num INT NOT NULL AUTO_INCREMENT
auto increment값을 초기화 하는 쿼리문입니다.
ALTER TABLE test AUTO_INCREMENT = 1
이를 활용하여 테이블을 만들어보겠습니다.
4. Constraint
제약 조건(constraint)이란 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙을 의미합니다.
이러한 제약 조건은 CREATE 문으로 테이블을 생성할 때나, ALTER 문으로 필드를 추가할 때도 설정할 수도 있습니다.
CREATE TABLE 문에서 사용할 수 있는 제약 조건은 다음과 같습니다.
1. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.
2. UNIQUE : 해당 필드는 서로 다른 값을 가져야만 합니다.
3. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.
4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만듭니다.
5. DEFAULT : 해당 필드의 기본값을 설정합니다.
5. 예제
앞서 나온 1~4번을 활용하여 테이블을 작성해 보겠습니다.
CREATE TABLE COMBOOK
(
BOOK_ID int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
TITLE varchar(200) NOT NULL,
MIN_AGE varchar(30) NOT NULL,
MAX_AGE varchar(30) NOT NULL,
PUBLISHER varchar(30) NOT NULL,
DEPARTMENT varchar(30) NOT NULL,
STATE varchar(500),
SHIPPING_FEE varchar(30)NOT NULL DEFAULT '0',
REG_DATE date NOT NULL,
NEW_OR_USED char(1) DEFAULT 'u',
LIST_PRICE int(10),
PRICE int(10) NOT NULL,
PUB_YEAR int(4),
SELLER_NAME varchar(10),
SELLER_CONTACT varchar(20)
);
BOOK_ID 컬럼에 Auto Increment, Primary Key 옵션을 부여하였고,
데이터가 꼭 필요한 컬럼에는 NOT NULL 제약조건을 붙여줬습니다.
값이 들어가지 않을 때 기본적으로 값이 들어가야 하는 컬럼에는 DEFAULT 제약조건을 활용하였습니다.
참고한 블로그
URL: https://admm.tistory.com/56
[Mysql, MariaDB] PrimaryKey, Autoincrement 설정방법
1. Primary key란? Primary Key 혹은 기본키라고 불리어지는 이 키는 테이블에 오직 한개만 존재하는 키 입니다. 기본키로 지정되는 순간 NOT NULL과 UNIQUE제약 조건의 특징을 가지게 되며 하나 이상의 컬
admm.tistory.com
http://tcpschool.com/mysql/mysql_basic_create
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'Backend-Programming > Maria DB' 카테고리의 다른 글
[Maria DB ubuntu] 외부 접속 허용하기 (0) | 2022.03.03 |
---|---|
[MariaDB] 우분투에 설치하기 (0) | 2022.03.03 |