본문 바로가기

MySQL

SQL - CREATE TABLE (새 테이블 생성하기, MySQL)

1. 생활코딩 - DATABASE2 - MySQL 유튜브 강의를 참조

2. MariaDB 10.4.25 버전 사용

3. 윈도우10 환경


id title description created author profile
1 MySQL My SQL is 2018-01-10 egoing developer
2          
3          
4          
5          

예제로 이러한 테이블을 만들어 보려고 한다.(공백 부분도 채워짐) / id 를 메인키로 사용


테이블 생성 문법 (CREATE TABLE)

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);

CREATE TABLE topic(
 id INT(11) NOT NULL AUTO_INCREMENT,

1. topic 이라는 테이블 생성한다.

 

2.

컬럼 이름: id 

datatype: int(11) (11글자까지만 보여짐)

NOT NULL: 공백불가

AUTO_INCREMENT: 레코드의 값이 중복되지 않고 1씩 자동 증가하게 함.

테이블 만들 시 고유 번호를 생성하는데 사용 됨.

ex) 새로운 컬럼을 추가하면 자동으로 id 값이 증가하여 추가 됨 = id 값이 중복되지 않게 해줌.

 

이런 식으로 각 컬럼을 구성해주면 된다.

 

CREATE TABLE topic(
 id INT(11) NOT NULL AUTO_INCREMENT,
 title VARCHAR(100) NOT NULL,
 description TEXT NULL,
 created DATETIME NOT NULL,
 author VARCHAR(30) NULL,
 profile VARCHAR(100) NULL,
 PRIMARY KEY(id));

마지막 줄의 PRIMARY KEY(id) : 해당 테이블의 기본키는 id 로 지정한다.  를 의미한다.

PRIMARY: 주된, 주요한, 기본적인

 

[관계형 데이터베이스에서 키의 종류]

더보기
[메인키] = 후보키 중에서 선택한 주키(Main KEY)
1. 특정 튜플을 유일하게 구별할 수 있는 속성
2. NULL 값 가질 수 없음.
3. 중복불가

[후보키]:유일하게 식별할 수 있는 속성들의 부분집합을 의미
1. 모든 릴레이션은 반드시 하나 이상의 후보키를 가짐.
2. 유일성O / 최소성 O

[대체키]:후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말합니다

[슈퍼키]:슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
1. 유일성 만족
2. 최소성 X

+추가 메모

(강의의 MySQL 과 약간 다른점이 있어 추가로 명령어 적어둠)

 

[비밀번호 설정]

SET PASSWORD = PASSWORD('원하는 비밀번호')

 

[데이터베이스 목록]  (접근 가능한 데이터베이스)

show databases;

 

[데이터베이스 사용] 

use 데이터베이스이름;

 

[테이블 목록 조회] (데이터베이스의 테이블 목록)
show tables;

[테이블 구조 확인]
desc 테이블명;

[컬럼 정보조회]
show columns from 테이블;
show full columns from 테이블명 ;