Junior
Реляциялык маалыматтар базасындагы таблицанын түзүмүн кантип өзгөртүүгө болот?
sobes.tech AI
AIден жооп
Реляциялык базада таблицанын түзүмүн SQL буйруктары ALTER TABLE аркылуу өзгөртүүгө болот.
Негизги аракеттер:
- Колонка кошуу
- Колонканы өчүрүү
- Колонканын маалымат түрүн өзгөртүү
- Чектөөлөрдү кошуу/өчүрүү (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
- Таблицаны кайра аталышы
- Колонканы кайра аталышы
ALTER TABLE буйруктарынын мисалдары:
-- 'users' таблицасына 'email' деген VARCHAR(255) түрүндөгү жана NOT NULL чектөөсү менен колонка кошуу
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- 'users' таблисынан 'phone' колонкасын өчүрүү
ALTER TABLE users
DROP COLUMN phone;
-- 'users' таблисундагы 'age' колонкасынын маалымат түрүн INTEGER кылып өзгөртүү
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- 'users' таблисунда 'username' колонкасына UNIQUE чектөөсүн кошуу
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- 'user_groups' таблисынан 'fk_user_group' сырткы ачкыч чектөөсүн өчүрүү
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- 'customers' таблицасын 'clients' деп кайра аталышы
ALTER TABLE customers
RENAME TO clients;
-- 'users' таблисундагы 'first_name' колонкасын 'given_name' деп кайра аталышы (синтаксис өзгөрүшү мүмкүн)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;
Маанилүү эскертүүлөр:
- Маалыматтардын болушу: маалымат түрүн өзгөртүү же колонканы өчүрүү маалыматты жоготууга же туура эмес болуусуна алып келиши мүмкүн.
- Төзүмдүүлүк: колонканы өчүрүү же чектөөнү өзгөртүү байланышкан таблицалардын ишине таасир этиши мүмкүн (мисалы, сырткы ачкычтар аркылуу).
- Иштин натыйжалуулугу: чоң таблицаларда кыйынчылык менен аткарылуучу
ALTER TABLEоперациялары ресурсту көп талап кылышы жана таблицага убакыт бою жетүүнү блоктошу мүмкүн.
Мындай өзгөртүүлөрдү тесттик чөйрөдө жасоо жана маалыматтарды сактоо үчүн резервдик көчүрмөлөрдү түзүү сунушталат.