π ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL: ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ALTER TABLE. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ "users" ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "age" Ρ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ "integer" Π½Π° ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ "varchar(50)":
ALTER TABLE users
ALTER COLUMN age TYPE varchar(50);
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ALTER COLUMN Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "age" Π² ΡΠ°Π±Π»ΠΈΡΠ΅ "users" ΠΈ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ "varchar(50)". ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ "users" ΠΈ "age" Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL
Π SQL ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ Π²Π°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π‘Π£ΠΠ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ALTER TABLE
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ALTER TABLE. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π‘Π£ΠΠ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ MySQL
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² MySQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ MODIFY COLUMN. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;
ΠΠ΄Π΅ΡΡ table_name - ΡΡΠΎ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ, column_name - ΡΡΠΎ ΠΈΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π° new_data_type - ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° "users" Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ "age" ΡΠΈΠΏΠ° INT, ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° SMALLINT, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ SQL-Π·Π°ΠΏΡΠΎΡ:
ALTER TABLE users MODIFY COLUMN age SMALLINT;
ΠΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ PostgreSQL
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² PostgreSQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ALTER COLUMN. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type;
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ table_name ΠΈ column_name, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° MODIFY COLUMN ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ALTER COLUMN. new_data_type - ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° "users" Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ "age" ΡΠΈΠΏΠ° INT, ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° SMALLINT, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ SQL-Π·Π°ΠΏΡΠΎΡ:
ALTER TABLE users ALTER COLUMN age TYPE SMALLINT;
ΠΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ SQL Server
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL Server ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ALTER TABLE Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ALTER COLUMN. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ALTER TABLE table_name ALTER COLUMN column_name new_data_type;
ΠΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ table_name ΠΈ column_name, Π° new_data_type - ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° "users" Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ "age" ΡΠΈΠΏΠ° INT, ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° SMALLINT, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ SQL-Π·Π°ΠΏΡΠΎΡ:
ALTER TABLE users ALTER COLUMN age SMALLINT;
ΠΠ°ΠΆΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ:
-
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ , Π΅ΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
-
ΠΡΠ»ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠ΄Π΅), ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠ²ΠΎΠ΄
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² SQL ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π½ΠΎΠ²ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ . Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ALTER TABLE Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π‘Π£ΠΠ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ MySQL, PostgreSQL ΠΈ SQL Server. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.