प्रौद्योगिकी साझेदारी

SQL बाधाएँ

2024-07-12

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

SQL बाधाएँ

1. वर्णनम्

अवधारणा : बाधाः नियमाः सन्ति ये सारणीयां संगृहीतदत्तांशं सीमितं कर्तुं सारणीयां क्षेत्रेषु कार्यं कुर्वन्ति ।

उद्देश्यम् : दत्तांशकोशे दत्तांशस्य सटीकता, वैधता, अखण्डता च सुनिश्चितं कर्तुं।

बाध्यतावर्णेतुकीवर्ड
अशून्यप्रतिबन्धःएतत् क्षेत्रं रिक्तं न भवेत् इति प्रतिबन्धयन्तुन शून्यम्
अद्वितीय बाध्यताअस्मिन् क्षेत्रे सर्वे दत्तांशाः अद्वितीयाः, अद्वितीयकाः च सन्ति इति सुनिश्चितं कुर्वन्तुअद्वितीयः
प्राथमिक कुंजी बाधाएँप्राथमिककुञ्जी दत्तांशपङ्क्तौ अद्वितीयपरिचयः अस्ति तथा च अरिक्तं अद्वितीयं च भवितुमर्हति ।प्राथमिक कुञ्जी
पूर्वनिर्धारितबाधाःदत्तांशस्य रक्षणकाले यदि क्षेत्रमूल्यं न निर्दिष्टं तर्हि पूर्वनिर्धारितं मूल्यं उपयुज्यतेमूलभूतम्‌
बाधाः जाँचयन्तु (८.०.१६ तः परम्)क्षेत्रं कस्यापि शर्तस्य पूर्तिं करोति इति सुनिश्चितं कुर्वन्तुअनुशीलय
विदेशीय कुञ्जीबाधाःद्वयोः सारणीयोः दत्तांशयोः मध्ये संयोजनं स्थापयितुं प्रयुक्तम्विदेशीय कील

2. प्रयोगः

स्वतः वृद्धिः स्वतः_वृद्धिः

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

बाधां योजयन्

-- 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

विदेशीयकीलानां भूमिका
दत्तांशस्य अखण्डतां सुनिश्चित्य विदेशीयकुंजीक्षेत्रं बालसारणी इति उच्यते, तत्सम्बद्धं सारणी मातापितृसारणी इति उच्यते ।
व्यवहारं विलोपयन्तु अद्यतनं कुर्वन्तु

  • no action (default): मातापितृसारणीयां तत्सम्बद्धं अभिलेखं विलोपयति/अद्यतनं कुर्वन्, यदि अभिलेखस्य विदेशीयकुंजी अस्ति,अद्यतनं/विलोपनं कर्तुं न शक्यते।
  • cascade: मातापितृसारणीयां तत्सम्बद्धं अभिलेखं विलोपयति/अद्यतनं कुर्वन्, यदि अभिलेखस्य विदेशीयकुंजी अस्ति,ततः उपसारणीयां अभिलेखान् विलोपयन्तु/अद्यतनं कुर्वन्तु ।
  • set null: मातापितृसारणीयां तत्सम्बद्धं अभिलेखं विलोपयति/अद्यतनं कुर्वन्, यदि अभिलेखस्य विदेशीयकुंजी अस्ति,ततः उपसारणीयां विदेशीयकीलमूल्यं null इति सेट् कुर्वन्तु ।
  • set default: यदा मातापितृसारणी परिवर्तिता भवति तदा बालसारणीयां निर्मितः विदेशीयः कुञ्जीस्तम्भः पूर्वनिर्धारितमूल्ये (InnoDB द्वारा समर्थितः नास्ति) सेट् भवति ।
# 指定行为
alter table 表名 add constraint 外键名 foreign key (外键字段) references 主表(主字段名) on update cascade on delete cascade;
  • 1
  • 2