MYSQL - 기본 문법 정리

지송현·2022년 11월 6일
0

mysql

목록 보기
1/1
post-thumbnail
  • 일반적인 구문 뒤에 ;으로 구분
  • 대소문자를 구분하지 않음(가능하면 구분해서 사용)
  • 한 줄 주석은 # 혹은 --, 여러 줄 주석은 /* */

데이터베이스 생성

CREATE DATABASE DB이름

  • 여러 DB 중 사용할 DB 선택
USE DB이름

테이블 생성

CREATE TABLE 테이블이름 (
  필드이름1 필드타입1,
  필드이름2 필드타입2,
  ...
)
  • 생성한 테이블 정보 확인
DESC 테이블이름

제약 조건(constraint)

입력할 수 있는 데이터의 조건을 설정함.

  1. NOT NULL : NULL 값을 저장할 수 없다.(반드시 데이터가 있어야 한다.)
  2. UNIQUE : 서로 다른 값을 가져야 한다.(중복 불가)
  3. PRIMARY KEY : 1번과 2번을 동시에 가짐(PRIMARY KEY 설정)
  4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만든다.
  5. DEFALUT : 해당 필드의 기본값을 설정한다.
  6. AUTO_INCREMENT : 1부터 시작하여 새 데이터가 추가될 때마다 1씩 증가한다.

테이블 수정

ALTER TABLE 테이블명 ADD/DROP/MODIFY COLUMN
  • 테이블에 필드 추가

    ALTER TABLE 테이블명 ADD 필드이름 필드타입
  • 테이블에 필드 삭제

    ALTER TABLE 테이블명 DROP 필드이름
  • 테이블 필드 타입 변경

    ALTER TABLE 테이블명 MODIFY COLUMN 필드이름 필드타입

테이블 삭제

DROP DATABASE DB이름

DROP TABLE 테이블이름

만약 테이블 자체가 아닌 테이블의 모든 데이터만을 삭제할 때는 TRUNCATE TABLE을 사용하면 된다.

TRUNCATE TABLE 테이블이름

데이터 추가

INSERT INTO 테이블명 (필드이름1, 필드이름2...) VALUES (데이터값1, 데이터값2...)

데이터 수정

UPDATE 테이블명 SET 필드이름1=데이터값1, 필드이름2=데이터값2, ... WHERE 필드이름=데이터값

WHERE 절을 생략하면 해당 테이블의 모든 데이터의 값이 변경된다.


데이터 삭제

DELETE FROM 테이블명 WHERE 필드이름=데이터값

WHERE 절을 만족하는 데이터 삭제. WHERE 생략 시 모든 데이터 삭제(테이블은 남아있음)


DELETE, TRUNCATE, DROP 차이

  • DELETE 명령어는 데이터는 지워지지만 테이블 용량은 줄어들지 않는다. 삭제 후 복구가 가능하다.
  • TRUNCATE 명령어는 용량이 줄어들고 인덱스 등도 모두 삭제 된다. 한 번에 모든 데이터를 삭제한다. 테이블은 남지만 삭제된 데이터는 복구할 수 없다.
  • DROP 명령어는 테이블 전체를 삭제한다. 삭제 후 되돌릴 수 없다.

출처 : http://www.tcpschool.com/mysql/intro, https://wikidocs.net/4021

profile
백엔드 개발자

0개의 댓글