Mysql - RDBMS, 데이터베이스, 테이블 생성(1)

hyunnu·2021년 10월 6일
0
post-thumbnail

RDBMS (Relational DataBase Management System)

관계형 데이터베이스 관리 시스템

  • 테이블을 사전에 정의를 한 뒤에 그에 알맞은 형태의 데이터만 넣을 수 있다.
  • 행(row)과 열(column)로 구성된 테이블에 데이터를 저장한다.
    • 각각의 행(row)은 하나의 속성에 대한 정보
    • 열(column)에는 각각의 데이터 형식에 맞는 데이터가 저장
  • 스키마가 뚜렷이 보인다.
  • 테이블 간에 관계들이 어떻게 되는지 알 수 있다.
    • 기본적으로 표의 형태로 정리(구조화)되어 있다.
  • CRUD 할 때 SQL을 사용한다.
  • ex) Mysql, Oracle, PostgreSQL, MariaDB, SQLite

데이터베이스, 테이블 생성하기

데이터베이스 생성하기

CREATE DATABASE 데이터베이스_이름; 

데이터베이스 사용

USE 데이터베이스_이름;

데이터베이스 확인

SHOW DATABASES;

데이터베이스 제거

DROP DATABASE 데이터베이스_이름;

테이블 생성하기

CREATE TABLE user (
  id int PRIMARY KEY AUTO_INCREMENT,
  name varchar(255),
  email varchar(255)
);

테이블 제거

DROP TABLE 테이블_이름;

테이블 조회

SHOW tables;

테이블 정보 확인

DESCRIBE user;  or  DESC user;

컬럼 추가

alter table [테이블명] add [컬럼명] [타입] [옵션];
alter table user add name varchar(255) not NULL default '0'

컬럼 삭제

alter table [테이블명] drop [컬럼명];

컬럼 옵션들

id INT NOT NULL AUTO_INCREMENT

컬럼명 옆의 것들은 컬럼에 대한 옵션들

  • INT: 정수 자료형(FLOAT, DOUBLE은 실수)
  • VARCHAR: 문자열 자료형, 가변 길이(CHAR은 고정 길이)
  • TEXT: 긴 문자열은 TEXT로 별도 저장
  • DATETIME: 날짜 자료형 저장
  • TINYINT: -128에서 127까지 저장하지만 여기서는 1 또는 0만 저장해 불 값 표현
  • NOT NULL: 빈 값은 받지 않는다는 뜻 (NULL은 빈 값 허용)
  • AUTO_INCREMENT: 숫자 자료형인 경우 다음 로우가 저장될 때 자동으로 1 증가
  • UNSIGNED: 0과 양수만 허용
  • DEFAULT now(): 날짜 컬럼의 기본값을 현재 시간으로
profile
Data Engineer / Back-End Developer

0개의 댓글