τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Έννοια: Οι περιορισμοί είναι κανόνες που δρουν σε πεδία ενός πίνακα για να περιορίσουν τα δεδομένα που είναι αποθηκευμένα στον πίνακα.
Σκοπός: Να εξασφαλιστεί η ακρίβεια, η εγκυρότητα και η ακεραιότητα των δεδομένων στη βάση δεδομένων.
περιορισμός | περιγράφω | Λέξεις-κλειδιά |
---|---|---|
μη μηδενικός περιορισμός | Περιορίστε αυτό το πεδίο ώστε να μην είναι κενό | όχι κενό |
μοναδικός περιορισμός | Βεβαιωθείτε ότι όλα τα δεδομένα σε αυτό το πεδίο είναι μοναδικά και μη διπλότυπα | μοναδικός |
περιορισμοί πρωτεύοντος κλειδιού | Το πρωτεύον κλειδί είναι το μοναδικό αναγνωριστικό μιας σειράς δεδομένων και δεν πρέπει να είναι κενό και μοναδικό. | πρωτεύων κλειδί |
Προεπιλεγμένοι περιορισμοί | Κατά την αποθήκευση δεδομένων, εάν δεν έχει καθοριστεί η τιμή πεδίου, χρησιμοποιείται η προεπιλεγμένη τιμή | Προκαθορισμένο |
Έλεγχος περιορισμών (μετά την 8.0.16) | Βεβαιωθείτε ότι το πεδίο πληροί μια συγκεκριμένη προϋπόθεση | έλεγχος |
περιορισμοί ξένου κλειδιού | Χρησιμοποιείται για τη δημιουργία σύνδεσης μεταξύ δεδομένων από δύο πίνακες | ξένο κλειδί |
Auto-increment: auto_increment
MySQL
ALTER TABLE my_table MODIFY id INT AUTO_INCREMENT;
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、添加主键
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;
Ο ρόλος των ξένων κλειδιών:
Για να διασφαλιστεί η ακεραιότητα των δεδομένων, το πεδίο ξένου κλειδιού ονομάζεται θυγατρικός πίνακας και ο σχετικός πίνακας ονομάζεται γονικός πίνακας.
Διαγραφή και ενημέρωση συμπεριφοράς:
# 指定行为
alter table 表名 add constraint 外键名 foreign key (外键字段) references 主表(主字段名) on update cascade on delete cascade;