본문 바로가기

코딩/SQL

[SQL] 데이터베이스/테이블 생성하기

728x90
반응형
참고 | [SQL] SQL 쿼리문 작성 형식
 

[SQL] SQL 쿼리문 작성 형식

✏️ SQL 작성 형식 SQL 문 끝에는 항상 세미콜론(;) 추가SQL 문 안에는 공백이나 개행 등을 자유롭게 넣을 수 있음내장된 키워드들(예약어)는 대문자로 적는 것이 관례이나, 대소문자 가리지 않음

jeonyeong.tistory.com


✏️ 데이터베이스 생성하기

 CREATE DATABASE 

  • 데이터베이스를 생성하기 위한 명령어
  • 같은 이름의 데이터베이스를 생성하면 에러가 발생함
    •  IF NOT EXISTS  구문을 추가하여, 데이터베이스가 존재하지 않으면 데이터베이스 추가
      → 같은이름의 데이터베이스가 이미 존재 할시, 에러가 아닌 경고문이 나타남
// 'copang_main' 이라는 데이터베이스 생성하기
CREATE DATABASE copang_main;

// course_rating라는 데이터베이스가 없으면, course_rating 데이터베이스 생성하기
CREATE DATABASE IF NOT EXISTS course_rating;

✏️ 테이블 생성하는 방법 (2가지)

  • CSV 파일 불러오기
    • Table Data Import Wizard에서 파일을 업로드 할 수 있음

  • SQL 문 작성하기
    • 테이블을 생성하기 위해 먼저 데이터베이스를 선택한 후, 쿼리창에서 SQL 생성을 위한 명령어 입력

✏️ SQL문으로 테이블 생성하기

 USE 

  • 테이블을 생성하기 위해서는 데이터베이스를 먼저 선택해야 함
# course_rating 데이터베이스를 지정하기 
USE course_rating;

 CREATE TABLE 

  • 테이블을 생성하기 위한 명령어
  • 이전에 선택한 데이터베이스 안에 테이블이 생성됨
  • 테이블에 들어갈 열에 대한 데이터 타입 정보를 입력해야 함

<< 예시 - student table >>

  • student table : 학생정보가 들어있는 테이블
  • column : id(PK), name, student_number, major, email, phone, admission_date
# Identifier 을 좀더 확실하게 보기 위해 백틱(`) 사용함 -> 굳이 안써도 되긴함
/*
CREATE TABLE [db_name].[tb_name] (
 [column_name] [data type ...]
 ...
);
*/ 

CREATE TABLE `course_rating`.`student` (
	`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, # NULL 허용x
	`name` VARCHAR(20) NULL,         # NULL 허용o (default)
	`student_number` INT NULL,
	`major` VARCHAR(15) NULL,
	`email` VARCHAR(50) NULL,
	`phone` VARCHAR(15) NULL,
	`admission_date` DATE NULL);
	
# student table 조회
SELECT * FROM course_rating.student;

🔗참고 | [SQL] 데이터 타입

 

[SQL] 데이터 타입

✏️ Numeric types(숫자형 타입) (1) 정수형 타입TINYINT작은 범위의 정수들을 저장할 때 쓰는 데이터 타입TINYINT SINGLED : -128 ~ 127TINYINT UNSINGLED : 0 ~ 255SMALLINTTINYINT보다 좀 더 큰 범위의 정수를 나타낼 때

jeonyeong.tistory.com


✏️ Primary Key(기본키, PK)

  • 테이블에서 하나의 row를 고유하게 식별할 수 있도록 해주는 column
  • Primary Key는 Not Null(NN)이여야 함 → 반드시 어떤 값이 들어가 있어야 함
    • NULL: 값이 존재하지 않는 상태
    • NULL ≠ 0, NULL ≠ “”

Primary Key 종류

  • Natural Key
    • 실제로 어떤 개체가 갖고 있는 속성을 나타내는 column이 Primary Key가 됐을 때, 이를 Natural Key라고 함
    • ex. 사람의 주민등록번호, 책의 ISBN 번호
  • Surrogate Key
    • Primary Key로 사용하기 위해 인위적으로 생성한 column
    • ex. 1,2,3, ... 순차적으로 증가하는 값이 들어간 id column
      • Auto Increment(AI) 속성을 설정하면, 해당 column에 관해서는 DBMS가 '자동으로 증가'하는 값을 넣어줌

📖 참고 강의
코드잇 |  SQL로 하는 데이터 분석
코드잇 |  SQL로 하는 데이터 관리
728x90
반응형