Begrænsninger i SQL betyder, at vi anvender visse betingelser eller begrænsninger på databasen. Dette betyder yderligere, at før vi indsætter data i databasen, tjekker vi for nogle forhold. Hvis den betingelse, vi har anvendt på databasen, gælder for de data, der skal indsættes, så vil kun dataene blive indsat i databasetabellerne.
Begrænsninger i SQL kan kategoriseres i to typer:
Kolonneniveaubegrænsning bruges til at anvende en begrænsning på en enkelt kolonne.
Tabelniveaubegrænsning bruges til at anvende en begrænsning på flere kolonner.
Nogle af de virkelige eksempler på begrænsninger er som følger:
- Hver person har et unikt e-mail-id. Dette skyldes, at mens du opretter en e-mail-konto til enhver bruger, vil den e-mail, der leverer tjenester såsom Gmail, Yahoo eller enhver anden e-mail-tjeneste, altid kontrollere tilgængeligheden af det e-mail-id, som brugeren selv ønsker. Hvis en anden bruger allerede tager det e-mail-id, som brugeren ønsker, kan dette id ikke tildeles en anden bruger. Dette betyder ganske enkelt, at ikke to brugere kan have de samme e-mail-id'er på den samme e-mail-tjeneste. Så her er e-mail-id'et begrænsningen på databasen for e-mail-tjenester.
- Når vi angiver en adgangskode til et system, er der visse begrænsninger, der skal følges. Disse begrænsninger kan omfatte følgende:
- Der skal være ét stort tegn i adgangskoden.
- Adgangskoden skal være på mindst otte tegn.
- Adgangskoden skal indeholde mindst ét specialsymbol.
Begrænsninger tilgængelige i SQL er:
- IKKE NULL
- ENESTÅENDE
- PRIMÆRNØGLE
- FREMMED NØGLE
- KONTROLLERE
- STANDARD
- OPRET INDEKS
Lad os nu prøve at forstå de forskellige begrænsninger, der er tilgængelige i SQL mere detaljeret ved hjælp af eksempler. Vi vil bruge MySQL-databasen til at skrive alle forespørgslerne.
1. IKKE NULL
- NULL betyder tom, dvs. værdien er ikke tilgængelig.
- Når en tabels kolonne er erklæret som NOT NULL, kan værdien for den kolonne ikke være tom for nogen af tabellens poster.
- Der skal eksistere en værdi i kolonnen, som NOT NULL-begrænsningen anvendes på.
BEMÆRK: NULL betyder ikke nul. NULL betyder tom kolonne, ikke engang nul.
Syntaks for at anvende NOT NULL-begrænsningen under oprettelse af tabel:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Opret en elevtabel og anvend en NOT NULL-begrænsning på en af tabellens kolonner, mens du opretter en tabel.
CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
For at bekræfte, at ikke-null-begrænsningen anvendes på tabellens kolonne, og elevtabellen er oprettet korrekt, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks for at anvende NOT NULL-begrænsningen på en eksisterende tabels kolonne:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
Eksempel:
Tænk på, at vi har en eksisterende tabelelev uden nogen begrænsninger på den. Senere besluttede vi at anvende en NOT NULL-begrænsning på en af tabellens kolonner. Så udfører vi følgende forespørgsel:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
For at bekræfte, at ikke-null-begrænsningen anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
2. UNIK
- Duplikerede værdier er ikke tilladt i de kolonner, som UNIQUE-begrænsningen anvendes på.
- Kolonnen med den unikke begrænsning vil altid indeholde en unik værdi.
- Denne begrænsning kan anvendes på en eller mere end én kolonne i en tabel, hvilket betyder, at mere end én unik begrænsning kan eksistere på en enkelt tabel.
- Ved at bruge UNIQUE-begrænsningen kan du også ændre de allerede oprettede tabeller.
Syntaks for at anvende den UNIKKE begrænsning på en enkelt kolonne:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Opret en elevtabel og anvend en UNIK begrænsning på en af tabellens kolonner, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
For at bekræfte, at den unikke begrænsning anvendes på tabellens kolonne, og elevtabellen er oprettet korrekt, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks for at anvende den UNIKKE begrænsning på mere end én kolonne:
afkorte og slette forskel
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
Eksempel:
Opret en elevtabel, og anvend en UNIK begrænsning på mere end én tabels kolonne, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), UNIQUE(StudentID, Student_PhoneNumber));
For at bekræfte, at den unikke begrænsning anvendes på mere end én tabels kolonne, og elevtabellen er oprettet korrekt, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks til at anvende UNIQUE-begrænsningen på en eksisterende tabels kolonne:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Eksempel:
Tænk på, at vi har en eksisterende tabelelev uden nogen begrænsninger på den. Senere besluttede vi at anvende en UNIK begrænsning på en af tabellens kolonner. Så udfører vi følgende forespørgsel:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
For at bekræfte, at den unikke begrænsning anvendes på tabellens kolonne, og elevtabellen er oprettet korrekt, udfører vi følgende forespørgsel:
mysql> DESC student;
3. PRIMÆR NØGLE
- PRIMARY KEY Constraint er en kombination af NOT NULL og Unique constraints.
- NOT NULL begrænsning og en UNIK begrænsning danner tilsammen en PRIMÆR begrænsning.
- Den kolonne, som vi har anvendt den primære begrænsning på, vil altid indeholde en unik værdi og tillader ikke null-værdier.
Syntaks for primærnøglebegrænsning under oprettelse af tabel:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Opret en elevtabel, og anvend PRIMARY KEY-begrænsningen, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT PRIMARY KEY, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
For at bekræfte, at den primære nøglebegrænsning er anvendt på tabellens kolonne, og at elevtabellen er oprettet korrekt, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks til at anvende den primære nøglebegrænsning på en eksisterende tabels kolonne:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Eksempel:
Tænk på, at vi har en eksisterende tabelelev uden nogen begrænsninger på den. Senere besluttede vi at anvende PRIMARY KEY-begrænsningen på tabellens kolonne. Så udfører vi følgende forespørgsel:
gør et shell-script eksekverbart
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
For at bekræfte, at den primære nøglebegrænsning er anvendt på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
4. UDENLANDSKE NØGLE
- En fremmednøgle bruges til referentiel integritet.
- Når vi har to tabeller, og en tabel tager reference fra en anden tabel, dvs. den samme kolonne er til stede i begge tabeller, og den kolonne fungerer som en primær nøgle i en tabel. Den pågældende kolonne vil fungere som en fremmednøgle i en anden tabel.
Syntaks for at anvende en fremmednøglebegrænsning under oprettelse af tabel:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Eksempel:
Opret en medarbejdertabel, og anvend FOREIGN KEY-begrænsningen, mens du opretter en tabel.
For at oprette en fremmednøgle på en tabel skal vi først oprette en primærnøgle på en tabel.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
For at verificere, at den primære nøglebegrænsning er anvendt på medarbejdertabellens kolonne, udfører vi følgende forespørgsel:
streng for at chatte
mysql> DESC employee;
Nu vil vi skrive en forespørgsel for at anvende en fremmednøgle på afdelingstabellen med henvisning til den primære nøgle i medarbejdertabellen, dvs. Emp_ID.
mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID));
For at bekræfte, at den fremmede nøgle-begrænsning er anvendt på afdelingstabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC department;
Syntaks for at anvende den fremmednøgle-begrænsning med begrænsningsnavn:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Eksempel:
Opret en medarbejdertabel, og anvend FOREIGN KEY-begrænsningen med et begrænsningsnavn, mens du opretter en tabel.
For at oprette en fremmednøgle på en tabel skal vi først oprette en primærnøgle på en tabel.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
For at bekræfte, at den primære nøglebegrænsning er anvendt på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC employee;
Nu vil vi skrive en forespørgsel for at anvende en fremmednøgle med et begrænsningsnavn på afdelingstabellen, der henviser til den primære nøgle i medarbejdertabellen, dvs. Emp_ID.
mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, CONSTRAINT emp_id_fk FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID));
For at bekræfte, at den fremmede nøgle-begrænsning er anvendt på afdelingstabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC department;
Syntaks til at anvende fremmednøglebegrænsningen på en eksisterende tabels kolonne:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Eksempel:
Overvej at vi har en eksisterende bordmedarbejder og afdeling. Senere besluttede vi at anvende en FOREIGN KEY-begrænsning på afdelingstabellens kolonne. Så udfører vi følgende forespørgsel:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
For at bekræfte, at den fremmede nøgle-begrænsning er anvendt på afdelingstabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC department;
5. TJEK
- Når en kontrolbegrænsning anvendes på tabellens kolonne, og brugeren ønsker at indsætte værdien i den, vil værdien først blive kontrolleret for visse forhold, før værdien indsættes i den kolonne.
Syntaks til at anvende kontrolbegrænsning på en enkelt kolonne:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Opret en elevtabel, og anvend CHECK-begrænsningen for at kontrollere, om alderen er mindre end eller lig med 15, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT CHECK( Age <= 15)); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-26.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-27.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on multiple columns:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply CHECK constraint to check for the age less than or equal to 15 and a percentage greater than 85 while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85)); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-28.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the age and percentage column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-29.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ADD CHECK (ColumnName Condition); </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the CHECK constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table's column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15></pre></=>
Syntaks til at anvende kontrolbegrænsning på flere kolonner:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Eksempel:
Opret en elevtabel, og anvend CHECK-begrænsningen for at kontrollere, om alderen er mindre end eller lig med 15 og en procentdel større end 85, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85));
For at verificere, at kontrolbegrænsningen er anvendt på alders- og procentkolonnen, udfører vi følgende forespørgsel:
konverter streng til jsonobject java
mysql> DESC student;
Syntaks til at anvende kontrolbegrænsning på en eksisterende tabels kolonne:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Eksempel:
Tænk på, at vi har en eksisterende bordelev. Senere besluttede vi at anvende CHECK-begrænsningen på elevbordets kolonne. Så udfører vi følgende forespørgsel:
mysql> ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table's column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table's column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql> CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15>
6. STANDARD
Når en standardbegrænsning anvendes på tabellens kolonne, og brugeren ikke har angivet den værdi, der skal indsættes i den, indsættes standardværdien, som blev angivet under anvendelse af standardbegrænsningen, i den pågældende kolonne.
Syntaks til at anvende standardbegrænsning under oprettelse af tabel:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Madhuri sagde kom nu
Opret en elevtabel, og anvend standardbegrænsningen, mens du opretter en tabel.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]');
For at kontrollere, at standardbegrænsningen anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks til at anvende standardbegrænsning på en eksisterende tabels kolonne:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Eksempel:
Tænk på, at vi har en eksisterende bordelev. Senere besluttede vi at anvende DEFAULT-begrænsningen på elevtabellens kolonne. Så udfører vi følgende forespørgsel:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
For at kontrollere, at standardbegrænsningen anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
7. OPRET INDEKS
CREATE INDEX-begrænsning bruges til at oprette et indeks på tabellen. Indekser er ikke synlige for brugeren, men de hjælper brugeren med at fremskynde søgehastigheden eller hentning af data fra databasen.
Syntaks til at oprette et indeks på en enkelt kolonne:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Eksempel:
Opret et indeks på elevtabellen og anvend standardbegrænsningen, mens du opretter en tabel.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
For at kontrollere, at begrænsningen for oprettelse af indeks anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks for at oprette et indeks på flere kolonner:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
Eksempel:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
For at kontrollere, at begrænsningen for oprettelse af indeks anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
Syntaks for at oprette et indeks på en eksisterende tabel:
ALTER TABLE TableName ADD INDEX (ColumnName);
Tænk på, at vi har en eksisterende bordelev. Senere besluttede vi at anvende DEFAULT-begrænsningen på elevtabellens kolonne. Så udfører vi følgende forespørgsel:
mysql> ALTER TABLE student ADD INDEX (StudentID);
For at kontrollere, at begrænsningen for oprettelse af indeks anvendes på elevtabellens kolonne, udfører vi følgende forespørgsel:
mysql> DESC student;
=15>=>