230220(μ)
π μ±μ₯μΌμ§ 3.1
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ ν€μλ (1.0)
μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
π κ²½ν μμ£Όλ‘ (2.0)
λ¨μ μ 보λ₯Ό μ λ¬νκΈ°λ³΄λ€ λ¬΄μμ λ°°μ κ³ μ΄λ»κ² ν΄κ²°νλμ§ μ§§κ³ κ°λ¨νκ² μμ±
βοΈ μ ν΄μ§ ν νλ¦Ώμ λ§μΆ°μ (3.0)
ν€μλ, κ²½ν λͺ¨λ μ’λ€. λ€λ§ λ§€μΌ μμ±νκΈ°λ‘ λ§μ λ¨Ήμλ§νΌ ν΅μ¬λ§ κ°κ²°νκ² μ 리ν μ μκ² ν νλ¦Ώμ μμ± (3.1) 230102λΆν° μμλλ νμ΅μ κ΄ν λ΄μ© μΆκ°
π μ€λμ ν€μλ
λ°μ΄ν°λ² μ΄μ€
- λ°μ΄ν°μ μ§ν©, νν DB(DataBase)λΌκ³ λΆλ₯Έλ€.
- μΌλ°μ μΌλ‘ κ·Έλ₯
λ°μ΄ν°λ² μ΄μ€
λΌκ³ νλ©΄ λ³΄ν΅ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό λ§νλ€. - λν, μλ°ν DBλ λ°μ΄ν° μ μ₯μλ₯Ό μλ―Ένκ³ μ°λ¦¬κ° μ¬μ©νλ MySQL, MariaDB, MongoDB λ±μ
DBMS(DataBase Management System)
μ΄λ€.
SQL
Structured Query Language
μ μ½μλ‘, λ°μ΄ν°λ² μ΄μ€μκ² μ§λ¬Ένλ―μ΄ μ¬μ©νλꡬ쑰νλ μ§μ μΈμ΄
μ΄λ€.- SHOW, SELECT, DELETE λ±μ 쿼리 λͺ λ Ήμ κ°λ₯νλ©΄ λλ¬Έμλ‘ μμ±νλ©° 쿼리 λ§μ§λ§μ ; λ₯Ό λΆμ¬μ£Όλλ‘ νμ!
MySQL
- κ°μ₯ λ리 μ¬μ©λκ³ μλ RDBMS(Relational DBMS; κ΄κ³ν)μΌλ‘ μ¬ λ§μ΄ν¬λ‘μμ€ν μ¦κ° κ°λ°νκ³ μΆν μ€λΌν΄μ μΈμλλ€.
- κΈ°λ³Έμ μΌλ‘λ μ€ν μμ€ λΌμ΄μΌμ€μ΄μ§λ§ μμ μ μΌλ‘ μ¬μ© μ, μμ μ© λΌμ΄μΌμ€λ₯Ό ꡬμ ν΄μΌνλ€.
- 15λ λ 11μμ λ°νλ 5.7λ²μ μ΄ λ²μ©μ μΌλ‘ λ§μ΄ μ¬μ©λκ³ μλ€.(κΈμμ± κΈ°μ€ 8.0κΉμ§ μΆμ)
npm i -D mysql mysql2
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'jayden',
password: '1234',
port: 3306,
database: 'databasename',
});
// λ³΄ν΅ portλ 3306μ μ¬μ©νμ§λ§, λ§μ½ λ‘컬μ MySQLμ΄ μ€μΉλμ΄μλ μνλ‘
// dockerμ mysql containerλ₯Ό λ§λ€μ΄ μ¬μ©νλ€λ©΄ portλ₯Ό 3307κ³Ό κ°μ λΉμ΄μλ ν¬νΈλ₯Ό ν λΉν΄μ€μΌ νλ€.
λ컀(docker)
λΉμ μ΄ μ΄λ€ μΈνλΌλ₯Ό κ°κ³ μλ μ§, λ컀λ₯Ό μ¬μ©ν΄μ λ°°ν¬νλ©΄ μ΄λμλ λκ°μ΄ κ°λ°, μ€ν, λ°°ν¬κ° κ°λ₯νλ€!
(feat. docker)- μ€μ λ‘ λ컀 μμ΄ λ‘컬μμ κ°λ° ν μ€ν μλ£κΉμ§ ν μ€νΈκ° λλλ, μλ²μ λ°°ν¬νλ©΄ μλλ κ²½μ°κ° νλ€νλ€!
- λ컀λ os(linux)μμ μ 곡νλ μ΄λ»κ² 보면 μμ£Ό κΈ°λ³Έμ μΈ κΈ°λ₯μ ν΅ν΄ λ§λ€μ΄μ‘λ€.
- μ΄λ―Έμ§(image): νλ‘κ·Έλ¨, 컨ν μ΄λ(container): κ° νλ‘κ·Έλ¨μ μ΄λ―Έμ§λ₯Ό 컨ν μ΄λλ‘ λμμ μ€ννλ λλ?!(νλ‘μΈμ€ λλ)
κΈ°μ΅ν΄λλ©΄ μ’μ λ컀μ κΈ°λ° κΈ°μ 3κ°μ§(OSμ κΈ°λ₯μ΄κΈ°λ νλ€.)
- Namespaces: νλ‘μΈμ€λ₯Ό μ€νν λ μμ€ν μ 리μμ€λ₯Ό λΆλ¦¬ν΄μ μ€ν(νλ‘μΈμ€λ§λ€ κ°μ Namespaceμ μν΄μΌ 리μμ€ κ³΅μ κ°λ₯)
- Cgroups: μμ€ν μμμ ν λΉμ 컨νΈλ‘€ ν μ μκ² νλ€.(β1λ² νλ‘μΈμ€λ cpu 10%λ§ μΈ κ²!βκ³Ό κ°μ κΈ°λ₯)
- Chroot: λ£¨νΈ λλ ν 리λ₯Ό λ³κ²½νλ 리λ μ€ λͺ λ Ή(λ΄κ° μνλ λλ ν 리λ₯Ό λ£¨νΈ λλ ν λ¦¬λ‘ μ§μ νλ κ²)
μμ κΈ°λ° κΈ°μ λ€μ΄ ν©μ³μ Έμ λ§μΉ κ°μ μννΈμ¨μ΄κ° λμκ°λ κ²μ²λΌ μ€νμ΄ λλ€!(컨ν μ΄λλ₯Ό λμΈ μ μλ€!)
DDL
Data Definition Language
μ μ½μλ‘,λ°μ΄ν° μ μ μΈμ΄
μ λλ‘ λ²μν μ μλ€.- μ¦, μ¬λ¬ SQL 쿼리 λͺ λ Ήλ€ μ€ λ°μ΄ν°λ² μ΄μ€μ μ€ν€λ§λ₯Ό μ μνκ³ μ‘°μν μ μλ λͺ λ Ήλ€μ λ§νλ€.
- λνμ μΌλ‘ CREATE, ALTER, DROP, RENAME λ±μ΄ μλ€.
- μ°Έκ³ λ‘ DDLμ κ²½μ° μ€ννλ©΄ AUTO COMMITμ΄ λλ€.(μ€ν μ¦μ λ°μλλ€. -> λ‘€λ°±μ΄ μλλ€.)
ν μ΄λΈ
- λ°μ΄ν°λ² μ΄μ€μ μ€μ λ°μ΄ν°κ° μ μ₯λλ νν
- νμ ν΄λΉνλ row, μ΄μ ν΄λΉνλ columnμ κ°λλ€.
- μ΄ λ, rowλ Record, columnμ fieldλΌκ³ λ νλ€.
- κ° fieldλ λμΌν λ°μ΄ν° νμ μ κ°λλ€.(μμ μ μκ°νλ©΄ νΈνλ€.)
μ°Έκ³
- TCP School - MySQL μκ°
- DB, DBMS, SQL κ°λ
- MySQL, λμ»€λ‘ λμ°κΈ°
- TCP School - MySQL 쿼리λ€
π μμ½ λ° ν루 κ°λ¨ νκ³
μκ³ μμλ dbμ sql κ·Έλ¦¬κ³ dockerλ₯Ό λ€μ μ νλ€. νμ€ν λ°μ΄ν° λΆμ λ λ°°μ λ κ² λμμ΄ λΌμ μ¬λ―Έμκ² κ³΅λΆν μ μμλ€.(λ¬Όλ‘ μλ¬λ κ³μ λ§λμ§λ§β¦)
κ΅³μ΄ λλ 건 μμ§λ§, λ°μ§λ©΄ λ°±μλμ μμμ΄λΌ μ²μμ μͺΌκΈ λμ μ보μ΄λ κ² λ΅λ΅νλ€. νμ§λ§ μ΄λ΄ 머리μ 그리면μ νλκΉ κΈλ°© μ΅μνκ² μΈ μ μμλ€.
μ€λμ μν μ
- μ¬ν λ€λ μ€κ³ μμΉ¨μ μμ μ½μ΄νμμ μ΄μ¬ν μ§ν¨ μ
μ€λμ μμ¬μ΄ μ
- μβ¦ νμ€ν λ무 νλ μΌμ μ΄μλ, μ½μ΄νμ λλκ³ μ§μ§ λ»μ΄λ²λ Έλ€β¦