DDL
DDLμ΄λ?
β 'Data Definition'
β DDLμ ν
μ΄λΈ ꡬ쑰λ₯Ό κ΄λ¦¬: CREATE, ALTER, DROP
CREATE TABLE statement
Data Type μ’ λ₯
- Null: μ λ³΄κ° μκ±°λ μ μ μμ
- Integer: μ μ
- Real: μ€μ
- Text: λ¬Έμ
- BLOB(Binary Large Object): μ λ ₯λ κ·Έλλ‘ μ μ₯λ λ°μ΄ν° λ©μ΄λ¦¬ (λμ© νμ μμ)
Boolean Type...?
β SQLiteμλ λ³λμ boolean νμ
μμ
β 0(False), 1(True)λ‘ μ μ₯
Date & Time ...?
β SQLiteμλ λ μ§ λ° μκ°μ μ μ₯νκΈ° μν λ³λμ νμ
x
β λμ builtin 'Date And Time Functions'λ‘ TEXT, REAL, λλ INTEGERκ°μΌλ‘ μ μ₯
Binary DATA
β λ°μ΄ν°μ μ μ₯κ³Ό μ²λ¦¬λ₯Ό λͺ©μ μΌλ‘ 0κ³Ό 1μ μ΄μ§ νμμΌλ‘ μΈμ½λ©λ νμΌ
SQLiteμ Data Type
β κ°μ λλ¬μΈλ λ°μ΄νμ μμμ λλ μ§μ x -> INTEGER
β κ°μ΄ μμ λ°μ΄νλ ν° λ°μ΄νλ‘ λ¬Άμ΄λ©΄ -> TEXT
β κ°μ λ°μ΄νλ μμμ , μ§μκ° μμΌλ©΄ -> REAL
β κ°μ΄ λ°μ΄ν μμ΄ NULLμ΄λ©΄ -> NULL
SQLite datatypesμ νΉμ§
β SQLiteλ λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€ μμ§μ μ μ μ΄κ³ μ격ν νμ
μ΄ μλ "λμ νμ
μμ€ν
(dynamic type system)"μ μ¬μ©
β 컬λΌμ μ μ₯λ κ°μ λ°λΌ λ°μ΄ν° νμ
μ΄ κ²°μ λ¨
β λ°λΌμ ν
μ΄λΈμ μμ±ν λ 컬λΌμ λν΄ νΉμ λ°μ΄ν° νμ
μ μ μΈνμ§ μμλ λ¨
β κ·Έλ¬λ λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€μμ νΈνμ± λ¬Έμ κ° μκΈ° λλ¬Έμ λ°μ΄ν° νμ
μ§μ κΆμ₯
β λ°μ΄ν° νμ
μ μ§μ νλ©΄ SQliteλ μ
λ ₯λ λ°μ΄ν°μ νμ
μ μ§μ λ λ°μ΄ν° νμ
μΌλ‘ λ³ν
(μ°Έκ³ ) μλ νλ³ν
SQLite Data Type Affinity
β λ€λ₯Έ λ°μ΄ν°λ² μ΄μ€ μμ§ κ°μ νΈνμ±μ μ΅λν
Contraints
β 'λ°μ΄ν° 무결μ±'μ μ μ§νκΈ° μν΄ ν μ΄λΈμ 컬λΌμ μ€μ νλ μ μ½
λ°μ΄ν° 무결μ±
β λ°μ΄ν° λ² μ΄μ€ λ΄μ λ°μ΄ν°μ λν μ νμ±, μΌκ΄μ±μ 보μ₯νκΈ° μν΄ λ°μ΄ν° λ³κ²½ νΉμ μμ μ μ¬λ¬ μ νμ λμ΄ μ νμ±μ 보μ¦νλ κ²
1. NOT NULL
β 컬λΌμ΄ NULL κ°μ νμ©νμ§ μλλ‘ μ§μ
2. UNIQUE
β 컬λΌμ λͺ¨λ κ°μ΄ μλ‘ κ΅¬λ³λκ±°λ κ³ μ ν κ°μ΄ λλλ‘ ν¨
3. PRIMARY KEY
β ν
μ΄λΈμμ νμ κ³ μ μ±μ μλ³νλ λ° μ¬μ©λλ 컬λΌ
β μμμ μΌλ‘ NOT NULL μ μ½ μ‘°κ±΄μ΄ ν¬ν¨λμ΄ μμ
β λ°λ‘ λͺ
μ μ νλ©΄ 'row id' μλ μμ±
4. AUTOINCREMENT
β μ¬μ©λμ§ μμ κ°μ΄λ μ΄μ μ μμ λ νμ κ°μ μ¬μ¬μ©νλ κ²μ λ°©μ§
β INTEGER PRIMARY KEY λ€μμ μμ±νλ©΄ ν΄λΉ rowidλ₯Ό μ¬μ¬μ©νμ§ λͺ»νλλ‘ ν¨
β Djangoμμ ν
μ΄λΈ μμ± μ id컬λΌμ κΈ°λ³Έμ μΌλ‘ μ¬μ©νλ μ μ½ μ‘°κ±΄
row idμ νΉμ§
β ν
μ΄λΈμ μμ±ν λλ§λ€ rowidλΌλ μμμ μλ μ¦κ° 컬λΌμ΄ μλμΌλ‘ μμ±λ¨
β ν
μ΄λΈμ νμ κ³ μ νκ² μλ³νλ 64λΉνΈ λΆνΈμ μ μ κ°
β ν
μ΄λΈμ μ νμ μ½μ
ν λλ§λ€ μ μ κ°μ μλμΌλ‘ ν λΉ (start = 1)
β λ§μ½ INTEGER PRiMARY KEY ν€μλλ₯Ό κ°μ§ 컬λΌμ μ§μ λ§λ€λ©΄ μ΄ μ»¬λΌμ rowid 컬λΌμ λ³μΉ(alias)κ° λλ€.
Alter Table
β κΈ°μ‘΄ ν μ΄λΈμ ꡬ쑰λ₯Ό μμ (λ³κ²½)
- Rename a table
- Rename a column
- Add a new column to a tabl
- Delete a column
μμ
DROP TABLE
β λ°μ΄ν° λ² μ΄μ€μμ ν μ΄λΈμ μ κ±°
DROP TABLEμ νΉμ§
β ν λ²μ νλμ ν μ΄λΈλ§ μμ -> μ¬λ¬ ν μ΄λΈμ μ κ±°νλ €λ©΄ μ¬λ¬ DROP TABLE λ¬Έ μ€ν
β μ€ν μ·¨μ or 볡ꡬ λΆκ°!
μμ
'β Personal_Study > Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
N:1 Relationship (1) | 2022.10.08 |
---|---|
Relational Database (0) | 2022.10.08 |
DML (Data Manipulation Language) (0) | 2022.10.08 |
SQL (0) | 2022.10.07 |
Database: Intro (2) | 2022.10.05 |
λκΈ