Begrensninger i SQL betyr at vi bruker visse betingelser eller begrensninger på databasen. Dette betyr videre at før vi setter inn data i databasen, ser vi etter noen forhold. Hvis betingelsen vi har brukt på databasen gjelder for dataene som skal settes inn, vil kun dataene settes inn i databasetabellene.
Begrensninger i SQL kan kategoriseres i to typer:
Kolonnenivåbegrensning brukes til å bruke en begrensning på en enkelt kolonne.
Tabellnivåbegrensning brukes til å bruke en begrensning på flere kolonner.
Noen av de virkelige eksemplene på begrensninger er som følger:
- Hver person har en unik e-post-ID. Dette er fordi når du oppretter en e-postkonto for en hvilken som helst bruker, vil e-posten som leverer tjenester som Gmail, Yahoo eller andre e-posttjenester alltid sjekke tilgjengeligheten til e-post-ID-en som brukeren ønsker for seg selv. Hvis en annen bruker allerede tar e-post-ID-en som brukeren ønsker, kan ikke denne ID-en tildeles en annen bruker. Dette betyr ganske enkelt at ikke to brukere kan ha samme e-post-ID på samme e-posttjeneste. Så her er e-post-ID-en begrensningen på databasen for e-posttjenester.
- Hver gang vi angir et passord for et hvilket som helst system, er det visse begrensninger som skal følges. Disse begrensningene kan omfatte følgende:
- Det må være ett stort tegn i passordet.
- Passordet må være på minst åtte tegn.
- Passordet må inneholde minst ett spesialsymbol.
Begrensninger tilgjengelig i SQL er:
- IKKE NULL
- UNIK
- PRIMÆRNØKKEL
- UTENLANDSKE NØKKEL
- KRYSS AV
- MISLIGHOLDE
- LAG INDEKS
La oss nå prøve å forstå de forskjellige begrensningene som er tilgjengelige i SQL mer detaljert ved hjelp av eksempler. Vi vil bruke MySQL-database for å skrive alle spørringene.
1. IKKE NULL
- NULL betyr tom, dvs. verdien er ikke tilgjengelig.
- Når en tabells kolonne er erklært som NOT NULL, kan ikke verdien for den kolonnen være tom for noen av tabellens poster.
- Det må finnes en verdi i kolonnen som NOT NULL-begrensningen brukes på.
MERK: NULL betyr ikke null. NULL betyr tom kolonne, ikke engang null.
Syntaks for å bruke NOT NULL-begrensningen under tabelloppretting:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Lag en elevtabell og bruk en NOT NULL-begrensning på en av tabellens kolonner mens du oppretter en tabell.
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 å bekrefte at ikke-null-begrensningen er brukt på tabellens kolonne og at elevtabellen er opprettet på en vellykket måte, vil vi utføre følgende spørring:
mysql> DESC student;
Syntaks for å bruke NOT NULL-begrensningen på en eksisterende tabells kolonne:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
Eksempel:
Tenk på at vi har en eksisterende tabellstudent, uten noen begrensninger på den. Senere bestemte vi oss for å bruke en NOT NULL-begrensning på en av tabellens kolonner. Deretter vil vi utføre følgende spørring:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
For å bekrefte at ikke null-begrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
2. UNIK
- Dupliserte verdier er ikke tillatt i kolonnene som UNIQUE-begrensningen brukes på.
- Kolonnen med den unike begrensningen vil alltid inneholde en unik verdi.
- Denne begrensningen kan brukes på én eller flere enn én kolonne i en tabell, noe som betyr at mer enn én unik begrensning kan eksistere på en enkelt tabell.
- Ved å bruke UNIQUE-begrensningen kan du også endre de allerede opprettede tabellene.
Syntaks for å bruke UNIQUE-begrensningen på en enkelt kolonne:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Lag en elevtabell og bruk en UNIK begrensning på en av tabellens kolonner mens du oppretter en tabell.
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 å verifisere at den unike begrensningen brukes på tabellens kolonne og at elevtabellen er opprettet, utfører vi følgende spørring:
mysql> DESC student;
Syntaks for å bruke UNIQUE-begrensningen på mer enn én kolonne:
unix toppkommando
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
Eksempel:
Lag en elevtabell og bruk en UNIK begrensning på mer enn én tabells kolonne mens du oppretter en tabell.
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 å verifisere at den unike begrensningen brukes på mer enn én tabells kolonne og elevtabellen er opprettet vellykket, utfører vi følgende spørring:
mysql> DESC student;
Syntaks for å bruke UNIQUE-begrensningen på en eksisterende tabells kolonne:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Eksempel:
Tenk på at vi har en eksisterende tabellstudent, uten noen begrensninger på den. Senere bestemte vi oss for å bruke en UNIK begrensning på en av tabellens kolonner. Deretter vil vi utføre følgende spørring:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
For å verifisere at den unike begrensningen brukes på tabellens kolonne og at elevtabellen er opprettet, utfører vi følgende spørring:
mysql> DESC student;
3. PRIMÆR NØKKEL
- PRIMARY KEY Constraint er en kombinasjon av NOT NULL og Unique constraints.
- NOT NULL-begrensning og en UNIQUE-begrensning danner sammen en PRIMÆR-begrensning.
- Kolonnen som vi har brukt den primære begrensningen på, vil alltid inneholde en unik verdi og vil ikke tillate nullverdier.
Syntaks for primærnøkkelbegrensning under tabelloppretting:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Lag en elevtabell og bruk PRIMARY KEY-begrensningen mens du oppretter en tabell.
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 å bekrefte at primærnøkkelbegrensningen er brukt på tabellens kolonne og elevtabellen er opprettet på en vellykket måte, vil vi utføre følgende spørring:
mysql> DESC student;
Syntaks for å bruke primærnøkkelbegrensningen på en eksisterende tabellkolonne:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Eksempel:
Tenk på at vi har en eksisterende tabellstudent, uten noen begrensninger på den. Senere bestemte vi oss for å bruke PRIMARY KEY-begrensningen på tabellens kolonne. Deretter vil vi utføre følgende spørring:
lage et skallskript kjørbart
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
For å bekrefte at primærnøkkelbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
4. UTENLANDSKE NØKKEL
- En fremmednøkkel brukes for referanseintegritet.
- Når vi har to tabeller, og en tabell tar referanse fra en annen tabell, det vil si at den samme kolonnen er til stede i begge tabellene, og den kolonnen fungerer som en primærnøkkel i en tabell. Den aktuelle kolonnen vil fungere som en fremmednøkkel i en annen tabell.
Syntaks for å bruke en fremmednøkkelbegrensning under tabelloppretting:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Eksempel:
Lag en ansatttabell og bruk FOREIGN KEY-begrensningen mens du oppretter en tabell.
For å lage en fremmednøkkel på en tabell, må vi først lage en primærnøkkel på en tabell.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
For å bekrefte at primærnøkkelbegrensningen er brukt på ansatttabellens kolonne, vil vi utføre følgende spørring:
gimp endre farge
mysql> DESC employee;
Nå vil vi skrive en spørring for å bruke en fremmednøkkel på avdelingstabellen med henvisning til primærnøkkelen til ansatttabellen, 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 å bekrefte at fremmednøkkelbegrensningen brukes på avdelingstabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC department;
Syntaks for å bruke fremmednøkkelbegrensningen med begrensningsnavn:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Eksempel:
Opprett en ansatttabell og bruk FOREIGN KEY-begrensningen med et begrensningsnavn mens du oppretter en tabell.
For å lage en fremmednøkkel på en tabell, må vi først lage en primærnøkkel på en tabell.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
For å bekrefte at primærnøkkelbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC employee;
Nå vil vi skrive en spørring for å bruke en fremmednøkkel med et begrensningsnavn på avdelingstabellen som refererer til primærnøkkelen til ansatttabellen, 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 å bekrefte at fremmednøkkelbegrensningen brukes på avdelingstabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC department;
Syntaks for å bruke fremmednøkkelbegrensningen på en eksisterende tabells kolonne:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Eksempel:
Tenk på at vi har en eksisterende bordmedarbeider og avdeling. Senere bestemte vi oss for å bruke en FOREIGN KEY-begrensning på avdelingstabellens kolonne. Deretter vil vi utføre følgende spørring:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
For å bekrefte at fremmednøkkelbegrensningen brukes på avdelingstabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC department;
5. SJEKK
- Når en kontrollbegrensning brukes på tabellens kolonne, og brukeren ønsker å sette inn verdien i den, vil verdien først bli sjekket for visse forhold før verdien settes inn i den kolonnen.
Syntaks for å bruke kontrollbegrensning på en enkelt kolonne:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
Opprett en elevtabell og bruk CHECK-begrensningen for å se etter alder under eller lik 15 mens du oppretter en tabell.
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 for å bruke kontrollbegrensning på flere kolonner:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Eksempel:
Lag en elevtabell og bruk CHECK-begrensningen for å se etter alder mindre enn eller lik 15 og en prosentandel større enn 85 mens du oppretter en tabell.
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 å bekrefte at kontrollbegrensningen er brukt på alders- og prosentkolonnen, vil vi utføre følgende spørring:
streng som array
mysql> DESC student;
Syntaks for å bruke kontrollbegrensning på en eksisterende tabells kolonne:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Eksempel:
Tenk på at vi har en eksisterende bordstudent. Senere bestemte vi oss for å bruke CHECK-begrensningen på elevbordets kolonne. Deretter vil vi utføre følgende spørring:
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 standardbegrensning brukes på tabellens kolonne, og brukeren ikke har spesifisert verdien som skal settes inn i den, vil standardverdien som ble spesifisert mens standardbegrensningen ble brukt, settes inn i den aktuelle kolonnen.
Syntaks for å bruke standardbegrensninger under tabelloppretting:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Eksempel:
fjerner siste commit git
Opprett en elevtabell og bruk standardbegrensningen mens du oppretter en tabell.
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 å bekrefte at standardbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
Syntaks for å bruke standardbegrensninger på en eksisterende tabellkolonne:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Eksempel:
Tenk på at vi har en eksisterende bordstudent. Senere bestemte vi oss for å bruke DEFAULT-begrensningen på elevtabellens kolonne. Deretter vil vi utføre følgende spørring:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
For å bekrefte at standardbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
7. LAG INDEKS
CREATE INDEX-begrensning brukes til å lage en indeks på tabellen. Indekser er ikke synlige for brukeren, men de hjelper brukeren med å øke hastigheten på søket eller henting av data fra databasen.
Syntaks for å lage en indeks på en enkelt kolonne:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Eksempel:
Lag en indeks på elevtabellen og bruk standardbegrensningen mens du oppretter en tabell.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
For å bekrefte at opprettingsindeksbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
Syntaks for å lage en 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 å bekrefte at opprettingsindeksbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
Syntaks for å lage en indeks på en eksisterende tabell:
ALTER TABLE TableName ADD INDEX (ColumnName);
Tenk på at vi har en eksisterende bordstudent. Senere bestemte vi oss for å bruke DEFAULT-begrensningen på elevtabellens kolonne. Deretter vil vi utføre følgende spørring:
mysql> ALTER TABLE student ADD INDEX (StudentID);
For å bekrefte at opprettingsindeksbegrensningen brukes på elevtabellens kolonne, vil vi utføre følgende spørring:
mysql> DESC student;
=15>=>