SQL - Korlátok

Sql korlátok:

  • nem mulla (not null)
  • egyedi (unique)
  • elsődleges kulcs (primary key)
  • idegen kulcs (foreign key)
  • ellenőrzés (check)
  • alapértelmezett (default)

Sql nem null (not null):

Az sql NOT NULL parancs érvényesíti az oszlopot és nem fogadja el a nulla értékeket. A NOT NULL parancs érvényesít minden mezőt, és minden esetben tartalmaz értéket. 

A következő példában az SQL érvényesíti a "személyek_azonosító" és a "vezetéknév"oszlopot és az oszlopban nem fogadja el a nulla értékek.

CREATE TABLE személyek
(
személyek_azonosító int NOT NULL,
vezetéknév varchar(255) NOT NULL,
keresztnév varchar(255),
cím varchar(255),
város varchar(255)
)

SQL egyedi (unique) kényszer:

Az egyedi UNIQUE megszorítás egyedileg azonosít minden egyes rekord egy adatbázison belül minden táblában.

SQL egyedi (unique) kényszer a új táblában:

Az alábbi SQL parancs létrehoz egy egyedi (UNIQUE) korlátozást a "személyek_azonosító" oszlopban, ha a "személyek" tábla létre jön:

Mysql:

CREATE TABLE személyek
(
szeméyek_azonosító int NOT NULL,
vezetéknév varchar(255) NOT NULL,
keresztnév varchar(255),
cím varchar(255),
város varchar(255),
UNIQUE (P_Id)
)

SQL Server / Oracle / MS Access:

CREATE TABLE személyek
(
személyek_azonosító int NOT NULL UNIQUE,
vezetéknév varchar(255) NOT NULL,
keresztnév varchar(255),
cím varchar(255),
város varchar(255)
)

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE személyek
(
személyek_azonosító int NOT NULL,
vezetéknév varchar(255) NOT NULL,
keresztnév varchar(255),
cím varchar(255),
város varchar(255),
CONSTRAINT uc_személyek azonosító UNIQUE (személyek_azonosító,vezetéknév)
)

SQL egyedi (unique) kényszer változó táblában:

Hozzon létre egy egyedi korlátozás a "személyek_azonosító" oszlopban, ha már létezik a táblázat:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE személyek
ADD UNIQUE (szeméylek_azonosító)

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE személyek
ADD CONSTRAINT uc_személyek azonosító UNIQUE (személyek_azonosító,vezetéknév)

Egyedi kulcs visszavonása drop paranccsal:

MySQL:

ALTER TABLE személyek
DROP INDEX uc_személyek_azonosító

SQL Server / Oracle / MS Access:

ALTER TABLE személyek
DROP CONSTRAINT uc_személyek_azonosító

A hozzászólás csak a regisztrált és bejelentkezett tagok számára engedélyezett!

Oldalainkat 40 vendég böngészi
Látogatóink száma: 2010.07.10 -től