π ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL: ΠΏΡΠΎΡΡΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ALTER TABLE.
ALTER TABLE Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ°Π±Π»ΠΈΡΡ
ADD Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠΈΠΏ_Π΄Π°Π½Π½ΡΡ
;
ΠΡΠΈΠΌΠ΅Ρ:
ALTER TABLE users
ADD email VARCHAR(255),
age INT;
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ - "email" Ρ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ VARCHAR ΠΈ "age" Ρ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ INT - Π² ΡΠ°Π±Π»ΠΈΡΡ "users".
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΡΠΈΠ²Π΅Ρ ΡΡΡΠ΄Π΅Π½Ρ!
Π― ΡΠ°Π΄ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡΡ SQL ΠΈ Ρ ΠΎΡΠ΅ΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ΅ Π²ΠΎΠ»Π½ΡΠΉΡΡ, Ρ ΠΏΠΎΠΌΠΎΠ³Ρ ΡΠ΅Π±Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² SQL - ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°Π²Π°ΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL.
1. ALTER TABLE
ALTER TABLE - ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ALTER TABLE Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ°Π±Π»ΠΈΡΡ
ADD Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠΈΠΏ_Π΄Π°Π½Π½ΡΡ
;
ΠΡΠΈΠΌΠ΅Ρ:
ALTER TABLE users
ADD email VARCHAR(50);
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ "email" ΡΠΈΠΏΠ° VARCHAR Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΡ "users".
2. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ DEFAULT
ΠΠΎΠ³Π΄Π° ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ALTER TABLE, ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ DEFAULT.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ALTER TABLE users
ADD is_active BOOLEAN DEFAULT true;
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ "is_active" ΡΠΈΠΏΠ° BOOLEAN Π² ΡΠ°Π±Π»ΠΈΡΡ "users" ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ true. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ is_active = true.
3. AFTER
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΡΠΎ, ΠΊΡΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° AFTER. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ALTER TABLE users
ADD dob DATE AFTER name;
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ "dob" ΡΠΈΠΏΠ° DATE ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "name" Π² ΡΠ°Π±Π»ΠΈΡΡ "users".
4. ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠ³Π΄Π° ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ, Π±ΡΠ΄Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ΅Π½ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠ΅Π½Ρ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΡ, ΡΠ±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π½Π°ΡΡΡΠ°ΡΡΡΡ.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL. Π’Π΅ΠΏΠ΅ΡΡ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ SQL.
Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ SQL ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅!