출처https://learnsql.com/blog/what-is-dbms/
DataBase Management System
데이터베이스를 관리할 수 있도록 도와주는 시스템
오라클DB, MySql, Sql server, MongoDB ...
사용자가 입력한 값(데이터)을 영구적으로 저장할 수 있는 저장공간
관계형 데이터베이스 관리 시스템이란 여러개의 데이터집합들이
서로 관계를 맺고 있는 형태
모든 데이터들은 표(테이블)에 저장이 된다
사용자정보 / 게시글 정보 /......
데이터베이스를 조작하고 다룰 때 사용하는 명령어(쿼리)
대문자, 소문자를 구분하지 않는다
CREATE TABLE 테이블이름(
컬럼이름 데이터타입(크기),
컬럼이름 데이터타입 ,
컬럼이름 데이터타입
);
문자
CHAR
고정길이문자, 지정할수있는 범위:1~255byte 까지의 글자 저장
(영어 1글자당 1byte, 한글 1글자당 3byte)
VARCHAR
가변길이문자, 범위: 1 ~ 65535byte 까지
제목, 이메일 비교적 짧은 문자열, 자주 검색되는 대상
TEXT
문자열 데이터, 최대 범위: 65535byte
내용, 기사, ...긴 내용들
숫자
INT
정수형 데이터
FLOAT
소수점이 있는 데이터
날짜
DATE
년월일 데이터
TIME
시분초 데이터
DATETIME
년월일시분초데이터
TIMESTAMP
년월일시분초데이터, 시스템이 바뀌면 자동으로 그날짜 시간이 저장됨
CREATE TABLE 테이블이름(
컬럼1 데이터타입(크기) 제약조건1 제약조건2,
컬럼2 데이터타입(크기) UNIQUE NOT NULL
);
UNIQUE
해당 컬럼은 데이터가 중복되면 안된다
NOT NULL
해당 컬럼에는 NULL 값이 저장되면 안된다
CHECK (조건)
해당 컬럼에는 특정 범위의 값들만 저장이 되어야 한다
무조건! 한 테이블에는 하나의 기본키 가 있어야 한다
기본키의 역할은 각각의 행을 구분할 수 있는 역할이다
(식별자의 역할을 한다)
중복X, NULL값 X
# 주석
# 테이블 만들기 ( CREATE )
CREATE TABLE a(
이름 VARCHAR(30) ,
나이 INT
);
# 테이블 삭제하기 ( DROP )
DROP TABLE a;
# 테이블 만들면서 제약조건 설정하기
# 컬럼 단위에서 제약조건을 설정
# NOT NULL 제약조건은 무조건 이렇게 만들어야한다
CREATE TABLE a(
아이디 varchar(30) not null unique,
나이 int not null, check(나이 > 0)
);
# 컬럼은 다 정의를 해놓고, 제약조건을 따로 정의
CREATE TABLE b(
아이디 varchar(30),
나이 int,
constraint b테이블아이디제약조건 unique(아이디),
constraint b테이블나이제약조건 check(나이 > 0)
);
CREATE TABLE tbl_users(
email varchar(30),
pw varchar(200) not null,
user_name varchar(30) not null,
find_pw_q int not null,
find_pw_a varchar(30) not null,
constraint tbl_users_pk primary key(email),
constraint tbl_users_name_uni unique(user_name)tbl_users
);