Omejitve v SQL pomenijo, da za bazo podatkov uporabljamo določene pogoje ali omejitve. To nadalje pomeni, da pred vnosom podatkov v bazo preverimo nekatere pogoje. Če pogoj, ki smo ga uporabili za bazo podatkov, velja za podatke, ki jih je treba vnesti, potem bodo v tabele baze podatkov vstavljeni samo ti podatki.
Omejitve v SQL lahko razvrstimo v dve vrsti:
Omejitev ravni stolpca se uporablja za uporabo omejitve na posameznem stolpcu.
Omejitev na ravni tabele se uporablja za uporabo omejitve na več stolpcih.
Nekateri primeri omejitev iz resničnega življenja so naslednji:
- Vsaka oseba ima edinstven e-poštni ID. To je zato, ker med ustvarjanjem e-poštnega računa za katerega koli uporabnika storitve za zagotavljanje e-pošte, kot so Gmail, Yahoo ali katera koli druga storitev za zagotavljanje e-pošte, vedno preverjajo razpoložljivost e-poštnega ID-ja, ki ga uporabnik želi zase. Če drug uporabnik že prevzame e-poštni ID, ki ga želi uporabnik, potem tega ID-ja ni mogoče dodeliti drugemu uporabniku. To preprosto pomeni, da dva uporabnika ne moreta imeti enakih e-poštnih ID-jev v isti storitvi za zagotavljanje e-pošte. Torej, tukaj je e-poštni ID omejitev za bazo podatkov o storitvah, ki zagotavljajo e-pošto.
- Kadarkoli nastavimo geslo za kateri koli sistem, obstajajo določene omejitve, ki jih je treba upoštevati. Te omejitve lahko vključujejo naslednje:
- Geslo mora vsebovati eno veliko črko.
- Geslo mora biti dolgo najmanj osem znakov.
- Geslo mora vsebovati vsaj en poseben simbol.
Omejitve, ki so na voljo v SQL, so:
- NI NULL
- UNIKATNO
- PRIMARNI KLJUČ
- TUJI KLJUČ
- PREVERI
- PRIVZETO
- USTVARI INDEKS
Zdaj pa poskusimo s pomočjo primerov podrobneje razumeti različne omejitve, ki so na voljo v SQL. Za pisanje vseh poizvedb bomo uporabili bazo MySQL.
1. NI NIČ
- NULL pomeni prazno, kar pomeni, da vrednost ni na voljo.
- Kadarkoli je stolpec tabele deklariran kot NOT NULL, potem vrednost za ta stolpec ne more biti prazna za noben zapis tabele.
- V stolpcu, za katerega je uporabljena omejitev NOT NULL, mora obstajati vrednost.
OPOMBA: NULL ne pomeni nič. NULL pomeni prazen stolpec, niti ničle.
Sintaksa za uporabo omejitve NOT NULL med ustvarjanjem tabele:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
primer:
Ustvarite tabelo učencev in med ustvarjanjem tabele uporabite omejitev NOT NULL za enega od stolpcev tabele.
CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Da preverimo, ali je omejitev not null uporabljena za stolpec tabele in je tabela študentov uspešno ustvarjena, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo omejitve NOT NULL na obstoječem stolpcu tabele:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
primer:
Recimo, da imamo obstoječo tabelo študent, brez kakršnih koli omejitev. Kasneje smo se odločili uporabiti omejitev NOT NULL za enega od stolpcev tabele. Nato bomo izvedli naslednjo poizvedbo:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
Da bi preverili, ali je omejitev not null uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
2. UNIKATNO
- Podvojene vrednosti niso dovoljene v stolpcih, za katere je uporabljena omejitev UNIQUE.
- Stolpec z enolično omejitvijo bo vedno vseboval enolično vrednost.
- To omejitev je mogoče uporabiti za enega ali več kot en stolpec tabele, kar pomeni, da lahko v eni tabeli obstaja več kot ena edinstvena omejitev.
- Z omejitvijo UNIQUE lahko spreminjate tudi že izdelane tabele.
Sintaksa za uporabo omejitve UNIQUE v enem stolpcu:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
primer:
Ustvarite tabelo učencev in med ustvarjanjem tabele uporabite UNIQUE omejitev za enega od stolpcev tabele.
mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Da preverimo, ali je unikatna omejitev uporabljena za stolpec tabele in je tabela študentov uspešno ustvarjena, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo omejitve UNIQUE v več kot enem stolpcu:
char tostring java
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
primer:
Ustvarite učenčevo tabelo in med ustvarjanjem tabele uporabite UNIQUE omejitev za več kot en stolpec tabele.
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));
Da preverimo, ali je unikatna omejitev uporabljena za več kot en stolpec tabele in je tabela študentov uspešno ustvarjena, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo omejitve UNIQUE na obstoječem stolpcu tabele:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
primer:
Recimo, da imamo obstoječo tabelo študent, brez kakršnih koli omejitev. Kasneje smo se odločili, da za enega od stolpcev tabele uporabimo omejitev UNIQUE. Nato bomo izvedli naslednjo poizvedbo:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
Da preverimo, ali je unikatna omejitev uporabljena za stolpec tabele in je tabela študentov uspešno ustvarjena, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
3. PRIMARNI KLJUČ
- Omejitev PRIMARY KEY je kombinacija omejitev NOT NULL in Unique.
- Omejitev NOT NULL in omejitev UNIQUE skupaj tvorita PRIMARNO omejitev.
- Stolpec, za katerega smo uporabili primarno omejitev, bo vedno vseboval edinstveno vrednost in ne bo dovoljeval ničelnih vrednosti.
Sintaksa omejitve primarnega ključa med ustvarjanjem tabele:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
primer:
Ustvarite tabelo študentov in med ustvarjanjem tabele uporabite omejitev PRIMARY KEY.
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));
Da preverimo, ali je omejitev primarnega ključa uporabljena za stolpec tabele in je tabela študentov uspešno ustvarjena, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo omejitve primarnega ključa v obstoječem stolpcu tabele:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
primer:
Recimo, da imamo obstoječo tabelo študent, brez kakršnih koli omejitev. Kasneje smo se odločili uporabiti omejitev PRIMARY KEY za stolpec tabele. Nato bomo izvedli naslednjo poizvedbo:
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
Da bi preverili, ali je omejitev primarnega ključa uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
java niz bajtov v niz
mysql> DESC student;
4. TUJI KLJUČ
- Tuji ključ se uporablja za referenčno celovitost.
- Ko imamo dve tabeli in se ena tabela sklicuje na drugo tabelo, tj. isti stolpec je prisoten v obeh tabelah in ta stolpec deluje kot primarni ključ v eni tabeli. Ta določen stolpec bo deloval kot tuji ključ v drugi tabeli.
Sintaksa za uporabo omejitve tujega ključa med ustvarjanjem tabele:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
primer:
Ustvarite tabelo zaposlenih in med ustvarjanjem tabele uporabite omejitev FOREIGN KEY.
Če želite ustvariti tuji ključ v kateri koli tabeli, moramo najprej ustvariti primarni ključ v tabeli.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Če želite preveriti, ali je omejitev primarnega ključa uporabljena za stolpec tabele zaposlenih, bomo izvedli naslednjo poizvedbo:
mysql> DESC employee;
Zdaj bomo napisali poizvedbo za uporabo tujega ključa v tabeli oddelka, ki se nanaša na primarni ključ tabele zaposlenih, tj. 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));
Da bi preverili, ali je omejitev tujega ključa uporabljena za stolpec tabele oddelka, bomo izvedli naslednjo poizvedbo:
mysql> DESC department;
Sintaksa za uporabo omejitve tujega ključa z imenom omejitve:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
primer:
Ustvarite tabelo zaposlenih in med ustvarjanjem tabele uporabite omejitev FOREIGN KEY z imenom omejitve.
Če želite ustvariti tuji ključ v kateri koli tabeli, moramo najprej ustvariti primarni ključ v tabeli.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Da bi preverili, ali je omejitev primarnega ključa uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC employee;
Zdaj bomo napisali poizvedbo za uporabo tujega ključa z imenom omejitve v tabeli oddelka, ki se nanaša na primarni ključ tabele zaposlenih, tj. 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));
Da bi preverili, ali je omejitev tujega ključa uporabljena za stolpec tabele oddelka, bomo izvedli naslednjo poizvedbo:
min maks
mysql> DESC department;
Sintaksa za uporabo omejitve tujega ključa v obstoječem stolpcu tabele:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
primer:
Recimo, da imamo obstoječega uslužbenca in oddelek. Kasneje smo se odločili uporabiti omejitev FOREIGN KEY za stolpec tabele oddelka. Nato bomo izvedli naslednjo poizvedbo:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
Da bi preverili, ali je omejitev tujega ključa uporabljena za stolpec tabele oddelka, bomo izvedli naslednjo poizvedbo:
obračanje niza java
mysql> DESC department;
5. PREVERITE
- Kadarkoli je za stolpec tabele uporabljena omejitev preverjanja in želi uporabnik vanj vstaviti vrednost, bo vrednost najprej preverjena za določene pogoje, preden bo vrednost vstavljena v ta stolpec.
Sintaksa za uporabo kontrolne omejitve v enem stolpcu:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
primer:
Ustvarite tabelo študentov in uporabite omejitev CHECK, da med ustvarjanjem tabele preverite, ali je starost manjša ali enaka 15.
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></=>
Sintaksa za uporabo omejitve preverjanja na več stolpcih:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
primer:
Ustvarite tabelo študentov in uporabite omejitev CHECK, da med ustvarjanjem tabele preverite, ali je starost manjša ali enaka 15 in odstotek večji od 85.
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));
Da bi preverili, ali je omejitev preverjanja uporabljena za stolpec starosti in odstotkov, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo kontrolne omejitve na obstoječem stolpcu tabele:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
primer:
Recimo, da imamo obstoječega miznega študenta. Kasneje smo se odločili uporabiti omejitev CHECK za stolpec tabele učencev. Nato bomo izvedli naslednjo poizvedbo:
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. PRIVZETO
Kadarkoli je za stolpec tabele uporabljena privzeta omejitev in uporabnik ni določil vrednosti, ki naj se vanj vstavi, bo privzeta vrednost, ki je bila podana med uporabo privzete omejitve, vstavljena v ta določen stolpec.
Sintaksa za uporabo privzete omejitve med ustvarjanjem tabele:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
primer:
Ustvarite tabelo študentov in med ustvarjanjem tabele uporabite privzeto omejitev.
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]');
Če želite preveriti, ali je privzeta omejitev uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za uporabo privzete omejitve v obstoječem stolpcu tabele:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
primer:
Recimo, da imamo obstoječega miznega študenta. Kasneje smo se odločili uporabiti omejitev DEFAULT za stolpec tabele učencev. Nato bomo izvedli naslednjo poizvedbo:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
Če želite preveriti, ali je privzeta omejitev uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
7. USTVARI INDEKS
Omejitev CREATE INDEX se uporablja za ustvarjanje indeksa v tabeli. Indeksi uporabniku niso vidni, vendar mu pomagajo pospešiti hitrost iskanja oziroma pridobivanja podatkov iz podatkovne baze.
Sintaksa za ustvarjanje indeksa v enem stolpcu:
java dolgo v niz
CREATE INDEX IndexName ON TableName (ColumnName 1);
primer:
Ustvarite indeks na tabeli učencev in med ustvarjanjem tabele uporabite privzeto omejitev.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
Da bi preverili, ali je omejitev ustvarjanja indeksa uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za ustvarjanje indeksa v več stolpcih:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
primer:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
Da bi preverili, ali je omejitev ustvarjanja indeksa uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
Sintaksa za ustvarjanje indeksa v obstoječi tabeli:
ALTER TABLE TableName ADD INDEX (ColumnName);
Recimo, da imamo obstoječega miznega študenta. Kasneje smo se odločili uporabiti omejitev DEFAULT za stolpec tabele učencev. Nato bomo izvedli naslednjo poizvedbo:
mysql> ALTER TABLE student ADD INDEX (StudentID);
Da bi preverili, ali je omejitev ustvarjanja indeksa uporabljena za stolpec tabele učencev, bomo izvedli naslednjo poizvedbo:
mysql> DESC student;
=15>=>