DBMS 2일만에 정복하기!! day01😜 (DBMS란?)

alert("april");·2023년 9월 8일
0

DBMS

목록 보기
1/3
post-thumbnail

출처https://learnsql.com/blog/what-is-dbms/

DBMS

DataBase Management System
데이터베이스를 관리할 수 있도록 도와주는 시스템
오라클DB, MySql, Sql server, MongoDB ...

데이터베이스란?

사용자가 입력한 값(데이터)을 영구적으로 저장할 수 있는 저장공간

데이터베이스(RDBMS)

관계형 데이터베이스 관리 시스템이란 여러개의 데이터집합들이
서로 관계를 맺고 있는 형태
모든 데이터들은 표(테이블)에 저장이 된다

사용자정보 / 게시글 정보 /......

MySQL 설치

SQL 명령어

데이터베이스를 조작하고 다룰 때 사용하는 명령어(쿼리)
대문자, 소문자를 구분하지 않는다

데이터베이스 테이블 만들기(표만들기)

CREATE TABLE 테이블이름(
        컬럼이름 데이터타입(크기),
        컬럼이름 데이터타입 ,
        컬럼이름 데이터타입
    );

데이터타입으로 사용할 수 있는 키워드(DBMS마다 조금씩 다름)

    문자
        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 (조건)
   해당 컬럼에는 특정 범위의 값들만 저장이 되어야 한다

PRIMARY KEY (기본키)

무조건! 한 테이블에는 하나의 기본키 가 있어야 한다
기본키의 역할은 각각의 행을 구분할 수 있는 역할이다
(식별자의 역할을 한다)
중복X, NULL값 X

day01.sql

# 주석
# 테이블 만들기 ( 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
);
profile
Slowly but surely

0개의 댓글