구조

- table : 데이터를 입력하는 최종적인 곳
- database, schema : 연관된 표를 그룹핑해서 정리할 때 사용. 일종의 폴더 개념
- database server: schema를 저장 및 운영하는 프로그램
Schema
schema 생성 및 삭제
CREATE DATABASE [database name];
DROP DATABASE [database name];
schema 사용
USE [database name];
Table
테이블 생성
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(15) NULL,
profile VARCHAR(200) NULL,
PRIMARY KEY(id)
);
- topic : 테이블의 이름
- column이름, datatype(length) , 속성 순
- PRIMARY KEY : 테이블의 주 key (각각이 고유해야함)
- AUTO_INCREMENT: 자동으로 id 값 하나 씩 증가
- NOT NULL: 공백을 허용하지 않음
테이블 삭제
DROP TABLE 테이블명;
테이블 컬럼 추가
ALTER TABLE table_name ADD COLUMN ex_column varchar(32) NOT NULL;
테이블 컬럼 변경
ALTER TABLE table_name MODIFY COLUMN ex_column varchar(16) NULL;
테이블 구조
DESC [테이블 명];
CRUD
테이블 데이터 생성
INSERT INTO topic (title,description,created,author,profile)
VALUES('MySQL','MySQL is ...',NOW(),'egoing','developer');
테이블 데이터 읽기
SELECT * FROM topic;
테이블 일부 column만 읽기
SELECT id,title,created,author FROM topic;
일부 데이터 필터링
SELECT id,title,created,author FROM topic WHERE author='egoing';
정렬
SELECT id,title,created,author FROM topic WHERE author='egoing' ORDER BY id DESC;
데이터 수정
UPDATE topic SET description='ORACLE is good',created=NOW() WHERE id=2;
데이터 삭제
DELETE FROM topic WHERE id=5;
Join
SELECT * FROM topic LEFT JOIN author ON topic.author_id=author.id;
참고
반응형
'Web > Database' 카테고리의 다른 글
Node.js에서 MySQL 활용 (0) | 2022.07.27 |
---|