[myspl 강좌] 1강

데이터베이스 기초

모든 데이터베이스는 input과 output을 가진다. input은 Create/Update/Delete로 나눌 수 있고 Output은 Read로 이해할 수 있다.

CRUD

  1. Create
  2. Read
  3. Upload
  4. Delete

데이터를 관리할 때 중요한 4가지 기능들인데 DB는 이러한 일들을 상황에 맞게 자동으로 처리하는 역할을 해준다. file system의 발전 방향은 file -> Spread Sheet(E.g. excel) -> Data Base이다.

Database Ranking

랭킹 확인 사이트

  1. Oracle, MySQL, Microsoft SQL Server는 Relational DBMS
  2. MongoDB는 Document store
  3. Redis는 Key-value Store
  4. Elasticsearch는 search engine
  5. Cassandra는 Wide column store

binami WAMP를 통해서 mysql 설치

다운링크

설치 후 bitnami manaer를 통해서 MySQL과 Apache Web Server를 제어할 수 있다.

cmd에서 C:\Bitnami\wampstack-7.4.7-0\mysql\bin\mysqld.exe를 실행해야 한다.

  1. $ cd C:\Bitnami\wampstack-7.4.7-0\mysql\bin
  2. $ mysql -uroot -p //mysql -uroot -p{MY_PASSWORD}를 적어도 되지만 보안상의 이유로 -p까지 친 다음에 enter
  3. password 입력

MYSQL 구조

  1. 가장 바깥 : Database Server
  2. 관련된 Table 들의 집합 : Database or Schema
  3. 관련된 정보들의 집합 : Table

MYSQL CRUD 명령어

기능 명령어
DATABASE 생성 CREATE DATABASE opentutorials;
DATABASE 삭제 DROP DATABASE opentutorials;
DATABASE 선택 USE opentutorials;
접속 계정 비밀번호 변경 SET PASSWORD = PASSWORD(‘{new password}’);
계정 생성 1. create user spring5@localhost;
계정 비밀번호 추가 1. mysql -uroot -p
2. use mysql;
3. alter user spring5@localhost identified with mysql_native_password by ‘tjrdl1226’;
테이블 생성 CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
discription TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(3) NULL,
profile VARCHAR(100) NULL,
PRIMARY KEY(id));
테이블 이름 변경 RENAME TABLE topic TO topic_backup;
테이블 목록 출력 SHOW tables;
테이블 SCHEMA 출력 DESC topic;
row 저장 INSERT INTO topic (title,description,created,author,profile) VALUES (‘PostgreSQL’, ‘PostgreSQL is …’, NOW(), ‘abc’, ‘developer’);
row 검색 SELECT id,title,created,author FROM topic WHERE author=’abc’ ORDER BY id DESC;
row 검색 SELECT id,title,created,author FROM topic WHERE author=’abc’ ORDER BY id DESC LIMIT 2;
row 수정 UPDATE topic SET author=’aaa’, profile=’designer’ WHERE id = 1;
row 삭제 DELETE FROM topic WHERE id = 4;
테이블 구조와 데이터 복사 1. CREATE TABLE IF NOT EXISTS 복사 테이블 SELECT * FROM 원본 테이블;
2. ALTER TABLE topic ADD PRIMARY KEY(id);
3.ALTER TABLE topic MODIFY COLUMN id INT auto_increment;
4. (2.~3.을 한 번에) ALTER TABLE topic MODIFY id INT auto_increment PRIMARY KEY;
column 이름 변경 ALTER TABLE topic CHANGE author author_id INT;
row 갯수 출력 SELECT COUNT(*) as cnt FROM totpic; //갯수를 나타내는 INT return

Mysql Client or Windows

free client는 MySQL Workbench를 사용합니다.

  1. $ ./mysql -uroot -p -h{database server의 ip주소}
  2. mysql의 cli client인 mysql monitor 실행

Mysql workbench에서는 GUI로 명령어를 수행할 수 있도록 해준다.

SQL JOIN

JOIN이 어려울 때는 생활코딩의 JOIN 강의를 보면된다. 강의링크

Tags:

Categories:

Updated:

Leave a comment