이전에 정리한 mysql글이 있긴하지만 너무 난잡해서 다시 정리를 하는 걸로 ^^;
mysql의 구조
다음과 같은 데이터가 담겨있는 표를 테이블, 테이블이 여러개 묶여있는걸 데이터베이스(스키마라고도 함), 데이터베이스를 여러개 다루는 것을 데이터베이스 서버라고 한다.
mysql 접속
mysql -uroot -p
스키마 활용
순서대로 데이터베이스 생성, 삭제, 보여주는 함수이다.
CREATE DATABASE database;
DROP DATABASE database;
SHOW DATABASES;
테이블 구조
테이블 생성
id | title | description | created | author | profile |
1 | MySQL | mysql~~ | 2018-01-10 | egoing | developer |
위와 같은 데이터베이스 테이블을 만든다고 할 때 아래와 같이 작성해주면 된다.
행 이름 / 타입 / null 값 여부 / (오름차/내림차순) 과 같은 형식이다.
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(100) NULL,
PRIMARY KEY(id));
CRUD
Create / Read / Update / Delete의 약자로 데이터베이스가 실행할 수 있는 것들. 이 중 중요한건 Create와 Read다.
INSERT 구문
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
SELECT 구문
SELECT row (FROM topic WHERE 특정값)
UPDATE 구문
UPDATE topic SET row_name WHERE 수정내용
DELETE 구문
DELETE FROM topic WHERE 삭제할 내용
*WHERE 문을 쓰지 않으면 전체가 삭제
관계형 데이터베이스의 필요성
데이터가 중복되어 나타나지 않게 중복을 제거해서 새로운 테이블을 만들면 유지보수가 편리하다.
위의 그림과 같이 나눠서 번거로움이 존재하지만 중복을 발생시키지는 않는다.
테이블 분리
JOIN
SELECT * FROM table1 LEFT JOIN table2 ON id(기준)
인터넷과 데이터베이스
인터넷
인터넷이 동작하려면 최소한 2대 이상의 컴퓨터가 필요 (컴퓨터간의 관계)
한 대의 컴퓨터 (클라이언트)가 다른 한대의 컴퓨터 (서버)에 정보요청, 반대로 응
(웹: url을 치면 사이트 반환)
데이터베이스
mysql을 설치할때 데이터베이스 클라이언트와 데이터베이스 서버 설치
직접 데이터베이스 서브 사용 불가 -> 데이터베이스 클라이언트(mysql monitor, workbench 등)를 거쳐서 사용
MYSQL 클라이언트
MYSQL 모니터
장점: 명령어 기반이라 어디서나 사용 가능
단점: 명령어를 기억해야함
MYSQL workbench
장점: 직관적임 (클릭)
단점: 사용환경이 제한적임
MySQL Workbench
'정리 > sql' 카테고리의 다른 글
SQL) 강의 보고 정리 1 (0) | 2020.11.22 |
---|
댓글