Database
 sql >> Datenbank >  >> RDS >> Database

SQL-EINSCHRÄNKUNGEN

SQL Constraints gibt die Regeln/Einschränkungen/Einschränkungen für in der Tabelle vorhandene Daten an. SQL Constraints werden zum Zeitpunkt der Tabellenerstellung oder nach der Tabellenerstellung mit dem ALTER-Befehl angegeben. Es gibt zwei Arten von Beschränkungen Einschränkung auf Spaltenebene und Einschränkung auf Tabellenebene .Wie die Namensspaltenebene angibt, gibt sie eine bestimmte Spalte an. In einer Einschränkung auf Tabellenebene gibt es mehr als eine Spalte oder alle Spalten in der Tabelle an.NOT NULL: Es stellt sicher, dass der angegebene Spaltenwert nicht NULL sein kann.UNIQUE: Es stellt sicher, dass jeder Wert in der Spalte anders ist.PRIMARY KEY: Der Primärschlüssel stellt sowohl NOT NULL als auch UNIQUE sicher. Das bedeutet, dass der Wert nicht null sein kann und sich voneinander unterscheiden sollte. Daher identifiziert der Primärschlüssel jeden Datensatz in der Tabelle eindeutig.FREMDSCHLÜSSEL: Es identifiziert eindeutig Datensätze aus anderen Tabellen. Der Fremdschlüssel ist ein Verweis auf die andere Tabelle und ist wie der Primärschlüssel einer anderen Tabelle.STANDARD: Es setzt den Standardwert, wenn kein Wert angegeben ist.CHECK: Es stellt sicher, dass alle Werte in der Spalte eine Bedingung erfüllen.INDEX: Der Index wird erstellt und zum Abrufen von Daten aus der Datenbank verwendet.

NICHT NULL

Der Standardwert für jede Spalte ist NULL. Nicht-Null-Einschränkungen stellen sicher, dass der Spaltenwert nicht null sein darf. Diese Einschränkung stellt immer sicher, dass die Spalte einen Wert hat. Es erlaubt nicht das Einfügen oder Aktualisieren von Datensätzen, ohne einen Wert in diesem Feld anzugeben. Der Benutzer kann diese Einschränkung zu einzelnen, mehreren oder allen Spalten der Tabelle hinzufügen. Syntax: CREATE  TABLE Tabellenname (Spalte 1 Datentyp NICHT NULL, ………);Beispiel: Erstellen Sie die Tabelle STUDENT(student_id int NOT NULL,student_name varchar(10),student_dept varchar(10) NOT NULL,classyear int); Im obigen Beispiel NOT NULL Einschränkung wird auf zwei Spalten student_id und student_dept in der STUDENT-Tabelle angewendet, während die Tabelle erstellt wird. Die Beschreibung der Tabelle STUDENT zeigt, welche Spalten NULL sein können oder nicht NULL sein können. Sehen Sie sich den Ausgabebildschirm beim Einfügen von Werten in die Tabelle an. Die Nicht-Null-Einschränkung erlaubt keine Eingabe von NULL-Werten in die Felder, auf die die Einschränkung angewendet wird. UNIQUE Unique Constraint vermeidet doppelte Einträge in der Spalte. Eine Tabelle kann mehrere eindeutige Schlüssel haben.Syntax: CREATE  TABLE table_name (Spalte 1 Datentyp UNIQUE,………);Beispiel: Tabelle erstellen student(student_id int Unique,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ); Sie können die obige Abfrage in anderer Form schreiben. Tabelle erstellen student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,unique (student_id));# mehrere Spalten gleichzeitig eindeutig definieren Syntax: CREATE  TABLE Tabellenname(Spalte 1 Datentyp, ……… Spalte n, Einschränkung Einschränkungsname Eindeutig (Spalte1,..));Beispiel: Tabelle erstellen student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,Constraint cs_studentunique (student_id, student_name)); # UNIQUE-Einschränkung mit ALTER-Anweisung hinzufügenSyntax: Tabelle ändern TabellennameEindeutig hinzufügen (Spaltenname);Beispiel: Alter table StudentAdd Unique (student_id);Syntax: Tabelle ändern TabellennameEinschränkung hinzufügen Einschränkungsname Eindeutig (Spalte1,Spalte2);Beispiel: Alter table StudentAdd Constraint cs_student Eindeutig (student_id,student_name);Primärschlüssel Der Primärschlüssel identifiziert jeden Datensatz in der Spalte eindeutig, eine Tabelle hat einen einzigen Primärschlüssel. Der Primärschlüssel kann eine einzelne Spalte oder eine Gruppe von Spalten sein.Syntax: Tabelle Tabellenname erstellen (Datentyp Spalte Primärschlüssel, Datentyp Spalte2,………);Beispiel: Erstellen Sie die Tabelle STUDENT(student_id int Primary Key,student_name varchar(20),student_dept varchar(20),classyear int); Syntax: Tabelle Tabellenname erstellen (Datentyp Spalte1, Datentyp Spalte2, ………Datentyp Spalte n,Primärschlüssel (Spaltenname));Beispiel: Tabelle erstellen Student(student_id int,student_name varchar(10),student_dept varchar(10),classyear int,Primary key (student_id)); # ALTER-Anweisung verwenden Syntax: Tabelle ändern TabellennamePrimärschlüssel hinzufügen (Spaltenname); Beispiel: ändern Sie die Tabelle studentadd Primärschlüssel (student_id); Syntax: alter table table_namedrop Primärschlüssel;Beispiel: ändern Sie die Tabelle studentdrop Primärschlüssel;

STANDARD

Die DEFAULT-Einschränkung wird verwendet, um den Standardwert für die Spalte festzulegen. Diese Einschränkung kann auf eine oder mehrere Spalten angewendet werden. NULL ist ein Standardwert für alle Spalten in der Tabelle. Wenn der Benutzer keine Null- oder primäre Einschränkung auf eine Spalte anwendet, wird der Standardwert geändert.Syntax: Tabelle Tabellenname erstellen (Spaltendatentyp, …….Standardwert des Spaltendatentyps);Beispiel: Tabelle student erstellen (student_id int,student_name varchar(20),student_dept varchar(20) default 'IT',classyear int); Ausgabebildschirm zeigt Standardwert ‘IT’ der Spalte student_dept zugeordnet. 'ES' Wert, der auf die Spalte student_dept gesetzt ist wenn für die Spalte student_dept kein Wert angegeben ist .  # DEFAULT-Einschränkung für Spalte mit ALTER-Anweisung hinzufügen   Syntax: alter table table_namealter column_nameset default value;Beispiel: alter table studentalter student_deptset default 'CS'; Syntax: alter table table_namealter column_namedrop default;Beispiel: alter table studentalter student_deptdrop default; Fremdschlüssel Fremdschlüssel ist eine Verknüpfung zwischen zwei Tabellen. Primärschlüssel einer Tabelle kann Referenz/Fremdschlüssel einer anderen Tabelle sein. Die Tabelle, die Fremdschlüssel enthält, wird als untergeordnete Tabelle bezeichnet, und andere Tabellen, deren Primärschlüssel als Referenz auf diese Tabelle verweisen, sind übergeordnete Tabellen. Der Benutzer muss Datensätze in der übergeordneten Tabelle vor der untergeordneten Tabelle eingeben, wenn in der übergeordneten Tabelle keine Daten vorhanden sind. Eine Tabelle kann einen einzigen Primärschlüssel haben. DEPARTMENT-Tabelle
DEPT_ID DEPT_NAME DEPT_HEAD DEPT_LOC
0001 IT Mr. S.K. Mischra 06
0002 CS Mr. DP Patil 04
0003 EXTC Frau S.K. Bhosale 05
0004 MECH Mr. AB Jha 07
STUDENT-Tabelle
STUDENT_ID STUDENT_NAME DEPT_NAME KLASSENJAHR
10001 RAM IT 02
10002 KIRAN IT 04
10003 NEHA CS 01
10004 ROOPA MECH 01
SCHÜLER Primärschlüssel   student_idFremdschlüssel   dept_nameDEPARTMENT Primärschlüssel   dept_nameHier ist DEPARTMENT die übergeordnete Tabelle und STUDENT die untergeordnete Tabelle. Der Primärschlüssel der Tabelle DEPARTMENT wird als Fremdschlüssel in der Studententabelle namens dept_name referenziert. Es kann möglich sein, dass zwei Tabellen Spalten mit demselben Namen haben. Angenommen, in der Studententabelle ist dept_name mit einem anderen Namen wie student_dept vorhanden, oder es entsteht kein Problem. Die Tabelle kann einen oder mehrere Fremdschlüssel enthalten.# Einschränkung während der Tabellenerstellung anwenden Syntax: //  Übergeordnete Tabelle muss einen Primärschlüssel enthalten Tabelle Tabellenname erstellen (Spalte Datentyp Primärschlüssel,Spalte ……..,Spalte n Datentyp);//Untergeordnete Tabelle enthält Fremdschlüssel Tabelle erstellen Tabellenname (Spaltendatentyp, …………, Fremdschlüssel (Spaltenname) Referenzen parent_table_name (Spaltenname des Primärschlüssels));Beispiel: Erstellen Sie die Tabelle department(dept_id int,dept_name varchar(30) Primary key,dept_head varchar(50),dept_loc int);Erstellen Sie die Tabelle student(student_id int primary key,student_name varchar(30),dept_name varchar(30),classyear int,Foreign key (abt_name)Referenzabteilung (abt_name)); # Fremdschlüsseleinschränkung mit Alter-Anweisung anwenden Syntax: alter table table_nameadd Foreign Key (column_name)references parent_table_name (column_name of primary key);Beispiel: alter table studentadd Foreign Key (dept_name)references department(dept_name);Syntax: alter table table_nameadd constraint constraint_nameforeign key (column_name)references parent_table_name (column_name of primary key);Beispiel: ändern Sie die Tabelle StudentAdd Constraint fk_StudentFremdschlüssel (Abteilungsname)Referenzen Abteilung(Abteilungsname);# DROP-Einschränkung Syntax: alter table table_namedrop Foreign Key Constraint_Name;Beispiel: alter table studentdrop Foreign Key fk_student;Create table student (student_id int, student_name varchar(50) not null, student_dept varchar(30) default 'IT', classyear int check (classyear<5 and classyear>0), primary key (student_id) );