스프레드시트와 데이터베이스의 차이점 : 데이터베이스는 코딩(컴퓨터 언어)을 통해서 제어할수 있다.
표(table)<데이터베이스(database),스키마<데이터베이스 서버
mysql -uroot -p
데이터베이스 만들기
CREAT DATABASE eunryong;
삭제
DROP DATABASE eunryong;
확인
SHOW DATABASES;
SQL:Structured Query Language
특징:쉬움,중요함(관계형데이터베이스에 속한 제품들이 공통적으로 데이터베이스 서버를 제어할 때 사용하는 언어)
table 구조
x축:column,열 데이터
y축:row,record,행 데이터구조
초보자는 cheatsheet 이용
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(30) NULL,
PRIMARY KEY(id));
INT:정수
VARCHAR:255자 이내 글자
TEXT:255 이상 글자
DATETIME:시간
PRIMARY KEY:메인키 중복불가
테이블에 내용 추가
INSERT INTO topic(title,description,created,author,profile)
VALUES('MySQL','MySQL is ...',NOW(),'eunryong','developer');
순서대로 작성
현재시간:NOW()를 이용
테이블 구조 파악
DESC table_name
테이블 읽기
SELECT * FROM topic;
테이블 부분만 읽기
SELECT id,title,created,author FROM topic;
원하는 부분만 읽기
SELECT id,title,created,author FROM topic WHERE author='eunryong';
정렬 역순
SELECT id,title,created,author FROM topic WHERE author='eunryong'
ORDER BY id DESC;
갯수 제한
SELECT id,title,created,author FROM topic WHERE author='eunryong'
ORDER BY id DESC LIMIT 3;;
테이블 수정
UPDATE topic SET description='Oracle is ...',title='Oracle' WHERE id='2;
삭제
DELETE FROM topic WHERE id = 5;
where 없으면 다 삭제됨
필요성:중복을 없앰=수정이 쉬움
단점: 비교 대조하면서 봐야함 한눈에 보기 힘듬
분리된 테이블을 하나의 테이블로 나타낼수 있다.
SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;
//중복시 table_name.중복된 값
SELECT topic.id,title,description,created,name,profile FROM topic LEFT JOIN author ON topic.author_id = author.id;
//수정시 같이 변경된다.
UPDATE author SET profile='database administrator' WHERE id = 2;