[DB] MySQL - 테이블을 생성하고 데이터 추가하기

aseol·2023년 7월 25일
0

MySQL

목록 보기
2/18

🔹 테이블 생성 / 삭제

1. 사용할 DB 지정

USE DB이름 ;


2. 테이블 생성

CREATE TABLE 테이블명 (
컬럼명 데이터유형 (길이) 부호유무 NULL허용여부 코멘트 등 입력
);

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ⬇️
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ⬇️
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ⬇️

지정한 DB에 테이블이 생성된 모습

3. 테이블 삭제

DROP : 테이블 완전 삭제

DROP TABLE IF EXISTS tb_user;

TRUNCATE : 테이블과 컬럼은 유지, 데이터만 삭제

🔹 테이블 이름 변경

tb_user였던 테이블 이름이 tb_member로 변경된 모습

ALTER TABLE 기존테이블명 RENAME TO 새로운테이블명 ;

🔹 컬럼 추가/삭제

컬럼 추가

ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터 타입 ;

AFTER를 작성하여 어떤 컬럼 뒤에 올지 덧붙일 수도 있다

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ⬇️


컬럼 삭제

ALTER TABLE 테이블명 DROP COLUMN 컬럼명 ;

🔹 컬럼 변경

  • 데이터 타입 변경

    ALTER TABLE 테이블명 MODIFY 컬럼명 데이터 타입 ;

  • 이름 변경

    ALTER TABLE 기존테이블명 RENAME TO 새로운테이블명 ;

  • 순서 변경

    ALTER TABLE 테이블명 MODIFY 컬럼명1 데이터 타입 AFTER 컬럼명2; → 컬럼1을 컬럼2 뒤로 옮기겠다 !

🔹 데이터 추가/삭제

데이터 추가

INSERT : 한 컬럼에 들어갈 데이터를 한꺼번에 적는 것이 아니라 한 ROW 단위씩 데이터를 새로 삽입한다.

INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3 ⋯ )
VALUES (컬럼1에 들어갈 값, 컬럼2에 들어갈 값, ⋯ ROW단위로 입력 );

⭐ 쿼리 작성 전, 데이터를 집어넣으려는 데이터베이스를 올바르게 클릭해 두기

컬럼의 개수와 컬럼에 들어갈 값의 개수가 일치하도록 작성해 준다. 

❓만약 컬럼이 3개인 테이블에 컬럼 2개만 작성하면 어떻게 될까?

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ⬇️
작성하지 않은 나머지 컬럼에 NULL이 들어간다.
(NULL이 들어갈 수 없게 한 경우 제외)


데이터 삭제

데이터가 전부 삭제되는 것을 방지하기 위하여 어떤 데이터를 삭제할지 명시하는 것이 좋다.

DELETE
FROM 삭제할 데이터가 속한 테이블
WHERE 구체적인 조건 ;

tb_author 테이블에서 a_name이 George Orwell인 ROW를 삭제 

🔹 데이터 변경

UPDATE : 테이블에서 조건에 맞는 데이터를 수정

UPDATE
ㅤㅤ테이블이름
SET
ㅤㅤ수정할_컬럼이름 = 수정할 값
WHERE
ㅤㅤ조건 (기존의 값);

tb_publisher 테이블에서,
title_number 컬럼의 값이 3인 ROW를 찾아 publisher 컬럼의 값을 '문예출판사'로 변경

🔹 외래키 추가 / 삭제

  • 외래키 추가

ALTER TABLE 자식테이블
ADD CONSTRAINT 제약이름
FOREIGN KEY ( 자식테이블컬럼 )
REFERENCES 부모테이블 ( 부모테이블컬럼 )

store 테이블의 reward_commission_code 컬럼이 
reward_commission 테이블의 reward_commission_code 컬럼을 참조한다.
  • 외래키 삭제

ALTER TABLE 자식테이블 DROP FOREIGN KEY 제약이름

예시 ➕

0개의 댓글