본문으로 건너뛰기
코드룸CODE ROOMTENMO ↗

SQL 테이블 생성하기

데이터베이스에 데이터를 저장하기 위한 첫 번째 단계는 '테이블'을 만드는 것입니다. 아래는 상품 정보를 저장할 Products 테이블을 만드는 기본 코드입니다.

CREATE TABLE Products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    product_code VARCHAR(20) UNIQUE
);

SQL 명령어는 자바스크립트의 const, function, for와 같은 예약어입니다. 컴퓨터에게 "내가 지금 무엇을 하려 한다"라고 알려주는 약속된 단어들이죠. 보통 SQL 명령어는 가독성을 위해 대문자로 작성합니다.

  • JavaScript: function createProduct() {} (새 함수를 만들겠다!)

  • SQL: CREATE TABLE Products (); (Products라는 새 테이블을 만들겠다!)

필드 이름과 타입 (Name & Type)

CREATE TABLE Products (
    id INT
);

Products 테이블에 INT(정수) 타입의 id 필드를 하나 만들겠다는 의미입니다. 모든 필드는 반드시 다음 두 가지가 필요합니다.

  • 이름: id, name 등 (JS 객체의 Key와 비슷합니다.)

  • 타입: INT, VARCHAR 등 (데이터의 형식을 지정합니다.)

하나의 테이블 안에서 필드 이름은 중복될 수 없습니다.

제약 조건

타입 뒤에 붙는 특별한 명령어들을 제약 조건이라고 부릅니다. 데이터에 규칙을 정해주는 것입니다.

id INT PRIMARY KEY AUTO_INCREMENT
  • PRIMARY KEY (기본키): 각 행(row)을 구별하는 고유 식별자입니다. 사람으로 치면 주민등록번호와 같습니다. 데이터베이스는 이 키를 사용해 데이터를 아주 빠르게 검색합니다.

  • AUTO_INCREMENT: 데이터를 추가할 때마다 자동으로 1씩 증가합니다. 첫 상품은 ID 1번, 다음 상품은 자동으로 2번이 되어 편리합니다.

문자열 데이터

name VARCHAR(100)

VARCHAR는 자바스크립트의 string과 비슷합니다. 뒤의 숫자는 최대 글자 수를 의미합니다. 즉, 상품명은 최대 100자까지 저장할 수 있다는 뜻입니다.

중복 방지

product_code VARCHAR(20) UNIQUE

상품 코드(product_code) 필드에 UNIQUE 제약 조건을 추가했습니다. 이는 "이미 존재하는 상품 코드는 다시 등록할 수 없다"는 규칙을 세운 것입니다.

데이터베이스는 우리가 정한 규칙(제약 조건)을 어기는 데이터가 들어오면 작동하지 않습니다.

(에러가 발생합니다.)

지금은 CREATE, Type에 대해서 간단하게 설명 드렸습니다. 다음에는 INSERT, 다른 데이터 타입에 대해서도 설명드리겠습니다.

블로그 목록으로