Teknologian jakaminen

SQL-rajoitukset

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

SQL-rajoitukset

1. Kuvaus

Konsepti: Rajoitukset ovat sääntöjä, jotka vaikuttavat taulukon kenttiin rajoittaen taulukkoon tallennettuja tietoja.

Tarkoitus: Varmistetaan tietokannan tietojen tarkkuus, oikeellisuus ja eheys.

rajoitekuvataAvainsanat
ei-nolla rajoitusRajoita tämä kenttä, jotta se ei ole tyhjäei tyhjä
ainutlaatuinen rajoitusVarmista, että kaikki tämän kentän tiedot ovat yksilöllisiä eivätkä päällekkäisiäainutlaatuinen
ensisijaisen avaimen rajoituksetEnsisijainen avain on tietorivin yksilöllinen tunniste, ja sen on oltava ei-tyhjä ja yksilöllinen.pääavain
OletusrajoituksetJos kentän arvoa ei ole määritetty, dataa tallennettaessa käytetään oletusarvoaoletuksena
Tarkista rajoitukset (8.0.16 jälkeen)Varmista, että kenttä täyttää tietyn ehdontarkistaa
vieraiden avainten rajoituksetKäytetään muodostamaan yhteys kahden taulukon tietojen välillevieras avain

2. Käyttö

Automaattinen lisäys: auto_inkrement

MySQL

ALTER TABLE my_table MODIFY id INT AUTO_INCREMENT;
  • 1

SQLServer

-- 删除依赖于id列的约束
ALTER TABLE my_table DROP CONSTRAINT <constraint_name>;

-- 修改字段为自增
ALTER TABLE my_table ALTER COLUMN id INT IDENTITY(1,1);

-- 重新创建约束(如果有)
ALTER TABLE my_table ADD CONSTRAINT <constraint_name> PRIMARY KEY (id);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Rajoitusten lisääminen

-- 1、添加主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (主键字段名);
-- 例:ALTER TABLE Orders ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
-- 2、添加外键
alter table 表名 add constraint 外键名 foreign key (外键字段名) references 主表(主字段名);
-- 删除外键
alter table 表名 drop foreign key 外键名;
-- 3、添加唯一约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 (需要约束的字段);
-- 4、添加默认约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT '默认值' FOR 字段名;
-- 5、检查约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (Age >= 18 检查的条件);
-- 6、非空约束
ALTER TABLE 表名 ALTER COLUMN 字段名 varchar(255) NOT NULL;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Vieraiden avainten rooli
Tietojen eheyden varmistamiseksi vierasavainkenttää kutsutaan alitaulukoksi ja siihen liittyvää taulukkoa emotaulukoksi.
Poista ja päivitä käyttäytyminen

  • ei toimintoa (oletus): Kun vastaavaa tietuetta poistetaan/päivitetään emotaulukossa, jos tietueessa on vierasavain,Sitä ei voi päivittää/poistaa.
  • kaskadi: Kun vastaavaa tietuetta poistetaan/päivitetään päätaulukossa, jos tietueessa on vierasavain,Poista/päivitä sitten alitaulukon tietueet.
  • set null: Kun poistetaan/päivitetään vastaava tietue ylätason taulukosta, jos tietueessa on vierasavain,Aseta sitten alitaulukon vieraan avaimen arvoksi nolla.
  • aseta oletusarvo: Kun päätaulukkoa muutetaan, alitaulukkoon luotu vierasavainsarake asetetaan oletusarvoon (InnoDB ei tue sitä).
# 指定行为
alter table 表名 add constraint 外键名 foreign key (外键字段) references 主表(主字段名) on update cascade on delete cascade;
  • 1
  • 2