λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬λ λ°μ΄ν°λ₯Ό ν¨μ¨μ μ΄κ³ ν¨κ³Όμ μΌλ‘ μ μ₯, κ΄λ¦¬, κ²μνλ κ²μ λ§ν©λλ€. λ°μ΄ν°λ² μ΄μ€μ λΉμ λ¬Έκ°λ₯Ό μν μ΄ μ€λͺ μμμλ λ°μ΄ν°λ² μ΄μ€ μμ€ν , κ΄κ³ν λ°μ΄ν°λ² μ΄μ€, SQLμ κΈ°λ³Έ μ¬νμ μκ°ν©λλ€. μ΄ κΈμ ν΅ν΄ λ°μ΄ν°λ² μ΄μ€μ μΈκ³λ‘ μ½κ² μ§μ νκ³ μ€μν κ°λ μ μ΄ν΄ν μ μκ² λμ€ κ²λλ€.
"
20, λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬"| μ΄λ³΄μλ₯Ό μν μ€λͺ
μ | λ°μ΄ν°λ² μ΄μ€ μμ€ν
, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€, SQL
π μλμ λͺ©μ°¨μμ κ° μΉμ μ λν λΉ λ₯Έ λ§ν¬λ₯Ό μ°Ύμ μ μμ΄μ |
---|
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν΅μ¬ κ°λ μν°ν°, μμ±, ν€ |
SQL νμ μ¬ν SELECT, INSERT, UPDATE, DELETE λͺ λ Ή |
λ°μ΄ν°λ² μ΄μ€ λμμΈ κΈ°λ³Έ μ κ·νμ κ΄κ³ λͺ¨λΈλ§ |
λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ ν MySQL, PostgreSQL, SQLite |
μ€μ΅μ μ€λͺ μ λ°μ΄ν°λ² μ΄μ€μμ νλ‘μ νΈ μμ± |
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν΅μ¬ κ°λ μν°ν°, μμ±, ν€
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ νμ€ μΈκ³μ λ΄μ©μ 체κ³μ μΌλ‘ μ μ₯νκ³ μ‘°μ§νλ κ°μ₯ μΌλ°μ μΈ λ°μ΄ν°λ² μ΄μ€ μ νμ λλ€. μ΄λ¬ν λ°μ΄ν°λ² μ΄μ€λ μν°ν°, μμ±, ν€μ κ°μ λͺ κ°μ§ ν΅μ¬ κ°λ μ κΈ°λ°μΌλ‘ ν©λλ€.
μν°ν°λ μ€μ κ°μ²΄λ κ°λ μ λνλ΄λ λ°μ΄ν°λ² μ΄μ€μ κΈ°λ³Έ κ΅¬μ± μμμ λλ€. μλ₯Ό λ€μ΄, μ ν μΉ΄νλ‘κ·Έ λ°μ΄ν°λ² μ΄μ€μμλ μ νμ΄ μν°ν°κ° λ©λλ€. κ° μν°ν°λ κ³ μ μλ³μ(ID)μ μν΄ κ΅¬λ³λ©λλ€.
μμ±μ μν°ν°μ νΉμ±μ΄λ νΉμ§μ μ€λͺ ν©λλ€. μ ν μΉ΄νλ‘κ·Έ λ°μ΄ν°λ² μ΄μ€μμ "μ ν μ΄λ¦", "κ°κ²©", "μλ"μ μ λΆ μ ν μν°ν°μ μμ±μ λλ€. κ° μμ±μ λ°μ΄ν° μ ν(μ λ¬Έμμ΄, μ«μ, λ μ§)μ κ°μ§λ©° ν λ²μ λ¨μΌ κ°λ§ ν¬ν¨ν μ μμ΅λλ€.
λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ κ° νμ μν°ν°λ₯Ό λνλ λλ€. ν€λ ν μ΄λΈμ κ° νμ κ³ μ νκ² μλ³νλ μμ± λλ μμ± μ§ν©μ λλ€. κΈ°λ³Έ ν€λ ν μ΄λΈμμ κ° μν°ν°μ λν΄ κ³ μ ν κ°μ κ°μ§ νΉλ³ν μ νμ ν€μ λλ€. μλ₯Ό λ€μ΄, μ ν μΉ΄νλ‘κ·Έ λ°μ΄ν°λ² μ΄μ€μμ μ ν IDλ μ ν ν μ΄λΈμ κΈ°λ³Έ ν€κ° λ©λλ€.
SQL νμ μ¬ν SELECT, INSERT, UPDATE, DELETE λͺ λ Ή
SQLite, MySQL, PostgreSQLκ³Ό κ°μ΄ λ§μ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ SQL(ꡬ쑰νλ 쿼리 μΈμ΄)μ΄λΌλ νμ€νλ μΈμ΄λ₯Ό μ¬μ©ν©λλ€. SQLμ μ¬μ©νλ©΄ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ‘°μνκ³ μ‘°νν μ μμ΅λλ€. μ¬κΈ°μλ μ΄λ³΄μλ€μ μν νμμ μΈ SQL λͺ λ ΉμΈ SELECT, INSERT, UPDATE, DELETEλ₯Ό μκ°ν©λλ€.
λͺ λ Ή | λͺ©μ | ꡬ문 |
---|---|---|
SELECT | λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν° μ‘°ν | `SELECT * FROM table_name;` |
INSERT | λ°μ΄ν°λ² μ΄μ€μ μλ‘μ΄ λ°μ΄ν° μ½μ | `INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` |
UPDATE | λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν° μ λ°μ΄νΈ | `UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;` |
DELETE | λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν° μμ | `DELETE FROM table_name WHERE condition;` |
λ°μ΄ν°λ² μ΄μ€ λμμΈ κΈ°λ³Έ μ κ·νμ κ΄κ³ λͺ¨λΈλ§
λ°μ΄ν°λ² μ΄μ€ μ€κ³μ κΈ°λ³Έ μμΉ μ€ νλλ μ κ·νμ λλ€. μ κ·νλ λ°μ΄ν°λ² μ΄μ€λ₯Ό μΌκ΄μ±, μ ν©μ±, ν¨μ¨μ±μ΄ μ΅μ νλ νΉμ κ·μΉμ λΆν©νλλ‘ κ΅¬μ±νλ νλ‘μΈμ€μ λλ€. μ΄λ κ² νλ©΄ λ°μ΄ν° μ€λ³΅μ΄ μ κ±°λκ³ , λ°μ΄ν° λ³κ²½μ λν λΆμμ©μ΄ μ΅μνλλ©°, λ°μ΄ν° 무결μ±μ΄ 보μ₯λ©λλ€.
μ κ·νμ μ€μμ±
- λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ ν¨μ¨μ± ν₯μ μ€λ³΅ μ κ±°λ₯Ό ν΅ν΄ λ°μ΄ν° κ²μ λ° μ λ°μ΄νΈ μ±λ₯μ΄ ν₯μλ©λλ€.
- λ°μ΄ν° λ¬΄κ²°μ± λ³΄μ‘΄ κ° λ°μ΄ν° νλͺ©μ΄ ν λ²λ§ μ μ₯λλ―λ‘ λ°μ΄ν°λ² μ΄μ€ μ λ°μ΄νΈ μ λλ½μ΄λ μλͺ»λ μμ μ΄ λ°μνμ§ μμ΅λλ€.
- λ°μ΄ν° λ³κ²½ λ° νμ₯ λλΉ μ κ·νλ λ°μ΄ν°λ² μ΄μ€λ λ³κ²½ μ¬νμ μ μ°νκ² λμνκ³ λ°μ΄ν° νμ₯μ μ½κ² μ²λ¦¬ν μ μμ΅λλ€.
κ΄κ³ λͺ¨λΈλ§
κ΄κ³ λͺ¨λΈλ§μ λ°μ΄ν°λ² μ΄μ€λ₯Ό ν μ΄λΈ(κ΄κ³) 컬λ μ μΌλ‘ νννλ λ°μ΄ν° λͺ¨λΈλ§ κΈ°λ²μ λλ€. κ° ν μ΄λΈμ λ°μ΄ν°λ² μ΄μ€μ μλ νΉμ κ°μ²΄ λλ κ°λ μ λνλ λλ€. μλ₯Ό λ€μ΄, κ³ κ° ν μ΄λΈμ κ³ κ° μ΄λ¦, μ£Όμ, μ°λ½μ² μ 보μ κ°μ κ° κ³ κ°μ λν λ°μ΄ν°λ₯Ό μ μ₯ν©λλ€.
κ΄κ³ λͺ¨λΈλ§μ μ₯μ
- λ°μ΄ν° ννμ λ¨μμ± κ΄κ³ λͺ¨λΈμ λ°μ΄ν°λ₯Ό λ Όλ¦¬μ μ΄κ³ ꡬ쑰νλ λ°©μμΌλ‘ νννμ¬ μ΄ν΄μ μ‘°μμ μ½κ² λ§λλλ€.
- λ€μν λ°μ΄ν°λ² μ΄μ€ μμ€ν κ°μ νΈνμ± κ΄κ³ λͺ¨λΈμ λλΆλΆμ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μμ μ¬μ©λλ―λ‘ λ°μ΄ν° μ΄μμ±μ κ°μνν©λλ€.
- 볡μ‘ν 쿼리λ₯Ό μ§μ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ 볡μ‘ν λ°μ΄ν° μ‘°ν λ° λΆμμ μν νμ€νλ 쿼리 μΈμ΄μΈ SQLμ μ§μν©λλ€.
λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ ν MySQL, PostgreSQL, SQLite
λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν (DBMS)μ μ ννλ κ²μ μ€μν κ²°μ μ΄λ©°, λ€μν μμΈμ λ°λΌ λ¬λΌμ§λλ€. μ΄λ³΄μλ₯Ό μν΄ μΆμ²νλ DBMS 3κ°μ§λ₯Ό μ μν©λλ€.
- MySQL 무λ£μ΄κ³ μ€ν μμ€, κ°μ₯ λ§μ΄ μ¬μ©λλ κ΄κ³ν DBMSλ‘, μΉ μ ν리μΌμ΄μ κ³Ό μκ·λͺ¨ νλ‘μ νΈμ μ ν©ν©λλ€.
- PostgreSQL 무λ£μ΄κ³ μ€ν μμ€, κ°λ ₯ν κΈ°λ₯ μ§ν©μ μ 곡νλ κ΄κ³ν DBMSλ‘, 볡μ‘ν μ ν리μΌμ΄μ κ³Ό λλμ λ°μ΄ν°μ©μΌλ‘ μ ν©ν©λλ€.
- SQLite μλ² λλ DBMSλ‘, νμΌ κΈ°λ°μ΄λ©° μ€μΉκ° νμνμ§ μμΌλ―λ‘ κ°λ³ νλ‘μ νΈ λλ λͺ¨λ°μΌ μ ν리μΌμ΄μ μ μ ν©ν©λλ€.
μ€μ΅μ μ€λͺ μ λ°μ΄ν°λ² μ΄μ€μμ νλ‘μ νΈ μμ±
Q λ°μ΄ν°λ² μ΄μ€ νλ‘μ νΈλ₯Ό λ§λ€λ €λ©΄ 무μλΆν° μμν΄μΌ νλμ?
A λ¨Όμ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν (DBMS)μ μ ννλ κ²λΆν° μμνμΈμ. MySQL, PostgreSQL, Oracle λ±μ μ΅μ μ΄ μμ΅λλ€. κ° DBMSμλ κ³ μ ν μ₯μ μ΄ μμΌλ―λ‘ μꡬ μ¬νμ λ§λ κ²μ μ νν©λλ€.
Q μ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ΄λ»κ² λ§λ€ μ μλμ?
A DBMS μ½μμ ν΅ν΄ μ λ°μ΄ν°λ² μ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€. λλΆλΆμ DBMSμλ λ°μ΄ν°λ² μ΄μ€ μμ±μ μν λͺ λ Ήμ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, MySQLμμλ λ€μκ³Ό κ°μ λͺ λ Ήμ μ¬μ©ν©λλ€.
CREATE DATABASE my_database;
Q ν
μ΄λΈμ λ§λλ λ°©λ²μ 무μμΈκ°μ?
A λ°μ΄ν°λ² μ΄μ€μ CREATE TABLE λ¬Έμ μ¬μ©νμ¬ ν μ΄λΈμ λ§λ€ μ μμ΅λλ€. κ° ν μ΄λΈμ κ³ μ ν μ΄λ¦, μ΄ λ° λ°μ΄ν° μ νμ κ°μ ΈμΌ ν©λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ μ£Όλ¬Έ ν μ΄λΈμ λ§λ€ μ μμ΅λλ€.
CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT,
customer_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
PRIMARY KEY (order_id)
);
Q λ°μ΄ν°λ₯Ό μ½μ
νλ λ°©λ²μ 무μμΈκ°μ?
A λ°μ΄ν°λ₯Ό INSERT λ¬Έμ μ¬μ©νμ¬ ν μ΄λΈμ μ½μ ν μ μμ΅λλ€. κ° μ΄μ ν΄λΉνλ κ° λͺ©λ‘μ μ§μ ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ μ£Όλ¬Έ ν μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ ν μ μμ΅λλ€.
INSERT INTO orders (customer_id, product_id, quantity)
VALUES (1, 10, 5);
Q λ°μ΄ν°λ₯Ό κ²μνλ λ°©λ²μ 무μμΈκ°μ?
A λ°μ΄ν°λ₯Ό SELECT λ¬Έμ μ¬μ©νμ¬ ν μ΄λΈμμ κ²μν μ μμ΅λλ€. λ°νν μ΄, 쑰건 λ° μ λ ¬ μμλ₯Ό μ§μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, κ³ κ° IDκ° 1μΈ λͺ¨λ μ£Όλ¬Έμ κ²μνλ €λ©΄ λ€μμ μ¬μ©ν©λλ€.
SELECT * FROM orders
WHERE customer_id = 1;
λ΄μ©μ΄ κΆκΈνλ€λ©΄, μμ½λΆν° μμνλ 건 μ΄λμ?
π
['μΆνν©λλ€! λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬κ° λ μ΄μ λ―Έμ§μ μμμ΄ μλλλ€. μ΄ μ€λͺ μλ₯Ό μ½μμΌλ‘μ¨ λ°μ΄ν°λ² μ΄μ€ μμ€ν μ κΈ°λ³Έ, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν΅μ¬ κ°λ , SQLμ ν΅μ¬ λͺ λ Ήμ λ°°μ μ κ²μ λλ€.', '', 'λ°μ΄ν° κ΄λ¦¬μ κ°λ ₯ν λꡬλ₯Ό κ°μΆ μ¬λ¬λΆμ μ΄μ κ·μ€ν λ°μ΄ν°λ₯Ό ν¨μ¨μ μ΄κ³ μμ νκ² μ‘°μ§νκ³ μ μ₯ν μ μμ΅λλ€. λ°μ΄ν°μμ ν΅μ°°λ ₯μ μ΄λμ΄ μμ¬ κ²°μ μ κ°μ νκ³ λΉμ¦λμ€ μ±κ³Όλ₯Ό λμ΄λ λ°μ΄ν° μ€μ¬μ λ―Έλκ° μ¬λ¬λΆμ κΈ°λ€λ¦¬κ³ μμ΅λλ€.', '', 'μ¬μ μ κ³μνμΈμ. μ€λ¬΄λ₯Ό ν΅ν΄ μ§μμ νμ₯νκ³ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬λ₯Ό λ₯μνκ² μ΅νμΈμ. λ°μ΄ν°μ 무νν κ°λ₯μ±μ λΉκ΅νκ³ λ°μ΄ν°λ₯Ό ν΅ν΄ νμ μ μ΄λ£¨μΈμ. μ΄ μ€λͺ μκ° μ¬λ¬λΆμ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ λͺ¨νμ μν μ΄μμ΄ λκΈ°λ₯Ό λ°λλλ€. μ±κ³΅μ κΈ°μν©λλ€!']
Related Photos