Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- mybatis
- db
- BOJ
- TIL
- sql
- java
- 스프링
- 데이터베이스
- 웹프로그래밍
- 이클립스
- PYTHON
- 에러
- 백준
- flask
- jQuery
- javascript
- 파이썬
- 오라클
- rdbms
- eclipse
- spring
- mysql
- 자바스크립트
- 알고리즘
- Oracle
- database
- 플라스크
- Git
- 링크
- 자바
Archives
- Today
- Total
기록과 정리의 공간
[MySQL] (20200718) TIL 본문
TIL - 인프런 강의를 듣고 공부한 내용을 정리(강의 링크)
- 공부한 내용
- DDL(Data Definition Language)?
- SQL로 데이터베이스 만들기
- SQL로 테이블 만들기
0. DDL(Data Definition Language)?
- 데이터 정의어 (CREATE, DROP, ALTER, TRUNCATE 등)
- 데이터베이스의 스키마를 정의하거나 조작하기 위해 사용한다.
1. SQL로 데이터베이스 만들기
-
데이터베이스 생성
CREATE DATABASE dabname;
또는
CREATE SCHEMA dbname;
-
데이터베이스 목록 보기
SHOW DATABASES;
-
생성한 db사용 시
USE dbname;
-
데이터베이스 삭제 (IF EXISTS는 해당 db이름이 없더라도 오류를 발생시키지 않도록 주는 옵션)
DROP DATABASE [IF EXISTS] dbname;
2. SQL로 테이블 만들기
-
테이블 생성하기
테이블을 생성하고자 하는 db를 먼저 사용하겠다고 명령해야함(USE)USE dbname;
그 후, CREATE으로 테이블 생성
CREATE TABLE tablename ( 컬렴명 데이터형, 컬렴명 데이터형, . . . PRIMARY KEY(컬럼명1, 컬럼명2, ...) );
예시:
CREATE TABLE mytable ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, modelnumber VARCHAR(15) NOT NULL, series VARCHAR(30) NOT NULL, PRIMARY KEY(id) );
-
데이터 타입 정리
-
숫자 타입의 컬럼 정의 문법 (위의 예시 참고)
id INT [UNSIGNED] [NOT NULL] [AUTO_INCREMENT]
- id : 컬럼명, 가능한한 영어 소문자 중심으로 명명
- INT : 컬럼에 대한 데이터 타입 선언
- [UNSIGNED] : 옵션. 예를 들어 TINYINT로 지정 시 -128 ~ +127이고, TINYINT UNSIGNED로 지정하면 0 ~ 255가 됨. 즉, 범위가 양수로 옮겨간다.
- [NOT NULL] : 옵션. 이를 명시하면, 해당 컬럼 데이터에 값이 할당되지 않는 경우를 허락하지 않는다는 의미이다. (공백을 허용하지 않는다는 의미) 즉, 데이터가 반드시 들어가야하는 컬럼의 경우에 해당 옵션을 사용한다.
- [AUTO_INCREMENT] : 테이블에 데이터 등록 시, 해당 컬럼은 자동으로 숫자가 1씩 증가하여 저장됨. 해당 컬럼은 양의 정수만 등록 가능해야하고, 테이블 안에서 해당 옵션은 단 하나의 컬럼에만 적용 가능하다.
-
PRIMARY KEY가 될 필드 지정 문법
PRIMARY KEY(컬럼명1, 컬럼명2, ...)
- 컬럼명1, 컬럼명2, ... : PRIMARY KEY로 지정할 컬럼명을 넣음. 한 개 이상 지정가능하나, 보통 한 개지정.
- PRIMARY KEY로 지정할 컬럼은 NULL값 등록 불가해야하고, 컬럼안에서 중복값이 없도록 유일한 값이여야한다.
따라서, 보통 [NOT NULL], [AUTO_INCREMENT] 선언이 되어있는 경우가 많다.
-
현재 db안에 존재하는 테이블 목록 조회하기
SHOW TABLES;
-
테이블 구조 보기
DESC tablename;
-
테이블 삭제하기
DROP TABLE [IF EXISTS] tablename;
'DATABASE > MySQL' 카테고리의 다른 글
[MySQL] (20200807) TIL - 1 (0) | 2020.08.07 |
---|---|
[MySQL] Workbench - Error Code : 1175 해결하기 (0) | 2020.08.04 |
[MySQL] (20200804) TIL (0) | 2020.08.04 |
[MySQL] (20200803) TIL (0) | 2020.08.03 |
[MySQL] (20200729) TIL (0) | 2020.07.29 |
Comments