MySQL 의 구조
MySQL 스키마의 사용
MySQL 테이블 생성
MySQL에서의 CRUD
관계형 데이터베이스(JOIN, SELECT)
CREATE DATABASE 데이터베이스이름;
DROP DATABASE 데이터베이스이름;
SHOW DATABASES;
USE 데이터베이스이름;
// USE로 연결을 해주어야 그 안에 테이블이나 컬럼을 생성 및 관리할 수 있다.
CREATE TABLE 테이블명(
-> 컬럼명 데이터타입 옵션,
-> 컬럼명 데이터타입 옵션,
);
// ex)
CREATE TABLE topic(
// INT(12) : 정수 12자리 / AUTO_INCREMENT 행이 추가될때마다 자동으로 숫자 1증가
-> id INT(12) NOT NULL AUTO_INCREMENT,
// VARCHAR(100) : 문자열 100자까지
-> title VARCHAR(100) NOT NULL,
// NULL : 데이터가 없어도 됨
-> discription TEXT NULL,
// NOT NULL : 데이터기 필수로 있어야됨
-> created DATETIME NOT NULL,
-> author VARCHAR(16) NULL,
-> profile VARCHAR(200) NULL,
//PRIMARY KEY(id) 행을 구분하는 중복되지 않는 고유값을 id값으로 사용한다
-> PRIMARY KEY(id)
-> );
INSERT INTO 테이블명 (column1, column2, ...) VALUES (value1, value2,...);
// 특정 컬럼만 데이터 값을 넣지 않고 모든 컬럼에 데이터를 넣을땐
INSERT INTO 테이블명 VALUES (value1, value2,...);
// 앞에 (column1, ....) 생략가능
// SELECT이 가장 어려움
// * : 모든 컬럼 = 테이블의 모든 컬럼을 READ한다.
SELECT * FROM 테이블명;
//컬럼명을 넣을 경우 해당되는 컬럼명만 READ한다.
SELECT 컬럼1, 컬럼2 FROM 테이블명;
// 테이블내 입력한 컬럼내 일치하는 데이터 내용이 있는 행만 표시한다
SELECT * FROM 테이블명 WHERE 컬럼명='데이터내용'
// 테이블내 id컬럼을 DESC 내림차순으로 정렬하고 LIMIT 2 : 2개의 행만 표시한다
SELECT * FROM 테이블명 ORDER BY id DESC LIMIT 2;
// WHERE id=1 : id가 1인 행의 컬럼의 변경할 데이터로 바꾼다.
UPDATE 테이블명 SET 컬럼명='변경할데이터', 컬럼명='변경할데이터' WHERE id=1;
// 테이블에서 컬럼값이 데이터인 행을 삭제한다
DELETE FROM 테이블명 WHRER 컬럼명 = 데이터;
// ex)
DELETE FROM topic WHRER id = 5;
//ex)
SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;
// 위의 토픽 테이블에 author 테이블을 추가한다.
// topic테이블의 author_id와 author테이블의 id가 서로 같은 행을.
해당 이미지와 같은 결과로 출력된다.
author_id에 해당되는 author테이블의 id가 있는 행이 옆에 붙여 출력된다.
출력시 컬럼명을 변경해서 출력도 가능하다
SELECT topic.id AS topic_id FROM topic LEFT JOIN author ON topic.author_id = author.id;
//topic.id 컬럼만 출력하고 컬럼명을 topic_id로 변경한다.