Tabulu vai indeksu izveidošana vai modificēšana, izmantojot datu definīcijas vaicājumu

Svarīgi! :  Šis raksts ir mašīntulkots, skatiet atrunu. Lūdzu, skatiet šī raksta versiju angļu valodā šeit jūsu informācijai.

Rakstiet datu definīcijas vaicājumus SQL skatā, lai izveidotu un modificētu tabulas, ierobežojumus, indeksus un relācijas.

Šajā rakstā ir skaidrojums par datu definīcijas vaicājumiem un to izmantošanu tabulu, ierobežojumu, indeksu un relāciju izveidošanai. Šis raksts var arī palīdzēt pieņemt lēmumu par datu definīcijas vaicājuma izmantošanu.

Piezīme : Šīs procedūras nevar izmantot tīmekļa datu bāzē.

Šajā rakstā

Pārskats

Izveidotu vai modificētu tabulu

Indeksa izveide

Ierobežojumu vai relācijas izveide

Pārskats

Datu definīcijas vaicājumi atšķirībā no citiem vaicājumiem neizgūst datus. Datu definīcijas vaicājums izmanto datu definīcijas valodu, lai izveidotu, modificētu vai izdzēstu datu bāzes objektus.

Piezīme : Datu definīcijas valoda (DDL) ir strukturētās vaicājumvalodas (SQL) daļa.

Datu definīcijas vaicājumus ir ļoti ērti izmantot. Datu bāzes shēmas daļas var regulāri izdzēst un atkārtoti izveidot, vienkārši izpildot dažus vaicājumus. Apsveriet iespēju izmantot datu definīcijas vaicājumu, ja pārzināt SQL priekšrakstus un ja plānojat izdzēst un atkārtoti izveidot konkrētas tabulas, ierobežojumus, indeksus vai relācijas.

Brīdinājums : Datu definīcijas vaicājumu izmantošana datu bāzu objektu modificēšanai rada risku, jo, izpildot darbības, netiek piedāvāti apstiprinājuma dialoglodziņi. Ja pieļausit kļūdu, varat zaudēt datus vai netīšām izmainīt tabulas noformējumu. Ja izmantojat datu definīcijas vaicājumus, lai modificētu datu bāzes objektus, rīkojieties piesardzīgi. Ja neesat atbildīgs par jūsu izmantotās datu bāzes uzturēšanu, pirms datu definīcijas vaicājuma izpildes ieteicams sazināties ar datu bāzes administratoru.

Svarīgi! : Pirms datu definīcijas vaicājuma izpildīšanas izveidojiet apstrādājamo tabulu dublējumkopijas.

DDL atslēgvārdi

Atslēgvārds

Lietojums

CREATE

Izveidot jaunu indeksu vai tabulu.

ALTER

Modificēt esošu tabulu vai kolonnu.

DROP

Izdzēst esošu tabulu, kolonnu vai ierobežojumu.

ADD

Pievienot tabulai kolonnu vai ierobežojumu.

COLUMN

Izmanto kopā ar ADD, ALTER vai DROP

CONSTRAINT

Izmanto kopā ar ADD, ALTER vai DROP

INDEX

Izmanto kopā ar CREATE

TABLE

Izmanto kopā ar ALTER, CREATE vai DROP

Uz lapas sākumu

Tabulas izveidošana vai modificēšana

Lai izveidotu tabulu, izmantojiet komandu CREATE TABLE. Komandai CREATE TABLE ir šāda sintakse:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

Vienīgie komandas CREATE TABLE obligātie elementi ir pati komanda CREATE TABLE un tabulas nosaukums, taču parasti ir jādefinē arī tabulas lauki vai citi aspekti. Apskatiet šo vienkāršo piemēru.

Pieņemsim, ka vēlaties iegādāties lietotu automašīnu, tāpēc jāizveido tabula, kurā apkopoti lietoto automašīnu nosaukumi, ražošanas gads un cena. Jūs vēlaties, lai nosaukums būtu ne vairāk kā 30 rakstzīmes, bet gads — 4 rakstzīmes garš. Lai izmantotu datu definīcijas vaicājumu un izveidotu tabulu, rīkojieties šādi:

Piezīme : Lai izpildītu datu definīcijas vaicājumu, vispirms ir jāiespējo datu bāzes saturs.

  • Ziņojumu joslā noklikšķiniet uz Iespējot saturu.

Tabulas izveide

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    IZVEIDOJIET TABULU automašīnu (vārds TEXT(30), gada TEXT(4), cena VALŪTAS)

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Tabulas modificēšana

Lai modificētu tabulu, izmantojiet komandu ALTER TABLE. Komandu ALTER TABLE var izmantot, lai pievienotu, modificētu vai nomestu (noņemtu) kolonnas vai ierobežojumus. Komandai ALTER TABLE ir šāda sintakse:

ALTER TABLE table_name predicate

kur predikātu varat norādīt kādu no šīm darbībām:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Pieņemsim, ka vēlaties pievienot 10 rakstzīmes gara teksta lauku, kur glabāt informāciju par katras automašīnas stāvokli. Varat rīkoties šādi:

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    MAINĪT TABULAS automašīnu pievienot KOLONNAS nosacījumu TEXT(10)

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Indeksa izveide

Lai esošai tabulai izveidotu indeksu, izmantojiet komandu CREATE INDEX. Komandai CREATE INDEX ir šāda sintakse:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Vienīgie obligātie elementi ir komanda CREATE INDEX, indeksa nosaukums, arguments ON, tabulas nosaukums, kurā ir indeksējamie lauki, un indeksā iekļaujamo lauku saraksts.

  • Izmantojot argumentu DESC, izveidotajam indeksam ir dilstoša secība, kas būs noderīgi, ja bieži izpildāt vaicājumus indeksēta lauka lielāko vērtību meklēšanai vai indeksēta lauka kārtošanai dilstošā secībā. Pēc noklusējuma izveidotajam indeksam ir augoša secība.

  • AR PRIMĀRO arguments izveido indeksētu lauku vai laukus, kā primārā atslēga tabulas.

  • Arguments WITH DISALLOW NULL nosaka indeksam obligātu prasību ievadīt indeksētajā laukā vērtību — tas ir, lauki bez vērtībām nav atļauti.

Pieņemsim, ka tabulā ar nosaukumu Auto ir lauki ar jūs interesējošu automašīnu nosaukumu, ražošanas gadu, cenu un tehnisko stāvokli. Pieņemsim arī, ka tabulai ir pievienots daudz informācijas un ka bieži veicat meklēšanu, vaicājumos iekļaujot gada lauku. Lai vaicājumu rezultāti tiktu atgriezti ātrāk, varat izveidot indeksu gada laukam, rīkojoties šādi:

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    IZVEIDOT INDEKSU YearIndex ieslēgts automašīnas (gads)

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Ierobežojuma vai relācijas izveidošana

Nosakot ierobežojumu, tiek izveidots loģisks nosacījums, kuram ir jāatbilst laukam vai lauku kombinācijai, kad tajos tiek ievadītas vērtības. Piemēram, ierobežojums UNIQUE neļauj laukā, uz ko tas attiecas, ievadīt vērtību, kas sakrīt ar kādu citu laukā esošu vērtību.

Relācija ir ierobežojuma veids, kas atsaucas uz citā tabulā esošu lauku vai lauku kombinācijas vērtībām, lai noteiktu, vai laukā vai lauku kombinācijā, uz ko attiecas ierobežojums, ir jāievieto vērtība. Lai norādītu, ka ierobežojums ir relācija, nav jāizmanto īpašs atslēgvārds.

Lai izveidotu ierobežojumu, komandā CREATE TABLE vai ALTER TABLE izmantojiet klauzulu CONSTRAINT. Ir divu veidu klauzulas CONSTRAINT: vienas ir paredzētas ierobežojuma izveidošanai atsevišķam laukam, bet otras — ierobežojuma izveidošanai vairākiem laukiem.

Ierobežojumi vienam laukam

Vienam laukam paredzētai klauzulai CONSTRAINT ir jāatrodas tūlīt aiz ierobežotā lauka definīcijas, un tās sintakse ir šāda:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Pieņemsim, ka tabulā ar nosaukumu Auto ir lauki ar jūs interesējošu automašīnu nosaukumu, ražošanas gadu, cenu un tehnisko stāvokli. Pieņemsim arī, ka bieži aizmirstat ievadīt automašīnas tehnisko stāvokli raksturojošu vērtību, lai gan vienmēr vēlaties reģistrēt šo informāciju. Lai izveidotu lauka Stāvoklis ierobežojumu, kas neļauj atstāt šo lauku tukšu, rīkojieties šādi:

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    MAINĪT TABULAS automašīnu ALTER KOLONNAS nosacījumu TEKSTA IEROBEŽOJUMU ConditionRequired NAV NULL

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Tagad pieņemsim, ka pēc kāda laika būsit ievērojis, ka laukam Stāvoklis ir daudz vērtību, kuras ir līdzīgas, bet kurām jābūt vienādām. Piemēram, dažu automašīnu stāvoklis ir novērtēts kā neapmierinošs, bet citu — kā slikts.

Piezīme : Ja vēlaties izpildīt atlikušās procedūras, iepriekšējās darbībās izveidotajā tabulā Auto pievienojiet vēl kādus fiktīvus datus.

Kad vērtības būs izlabotas, lai būtu vienveidīgākas, var izveidot tabulu Auto_stāvoklis ar vienu lauku Stāvoklis, kurā tiks iekļautas visas vērtības, kuras izmantosit, lai raksturotu automašīnu tehnisko stāvokli.

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    IZVEIDOJIET TABULU CarCondition (nosacījums TEXT(10))

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

  6. Izmantojot priekšrakstu ALTER TABLE, izveidojiet tabulas primāro atslēgu:

    MAINĪT TABULAS CarCondition ALTER KOLONNAS nosacījumu TEKSTA IEROBEŽOJUMU CarConditionPK PRIMĀRĀ ATSLĒGA

  7. Lai jaunajā tabulā AutoStāvoklis ievietotu tabulas Auto lauka Stāvoklis vērtības, SQL skata objektu cilnē ierakstiet šādu SQL priekšrakstu:

    IEVIETOJIET CarCondition IZVĒLIETIES ATŠĶIRĪGU nosacījumu NO automašīnu;

    Piezīme : SQL priekšraksta šajā darbībā tiek pievienošanas vaicājums. Atšķirībā no datu definīcijas vaicājumu pievienošanas vaicājumu, kas beidzas ar semikolu.

  8. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Relācijas izveidošana, izmantojot ierobežojumu

Lai noteiktu, ka ikvienai jaunai vērtībai, kas tiek ievietota tabulas Auto laukā Stāvoklis, jāatbilst kādai tabulas AutoStāvoklis lauka Stāvoklis vērtībai, izveidojiet tabulu AutoStāvoklis un Auto lauka Stāvoklis relāciju, rīkojoties šādi:

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    MAINĪT TABULAS automašīnu ALTER KOLONNAS nosacījumu TEKSTA IEROBEŽOJUMU FKeyCondition ATSAUCES CarCondition (nosacījums)

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Vairāku lauku ierobežojumi

Klauzulu CONSTRAINT, kas attiecas uz vairākiem laukiem, var izmantot tikai ārpus lauku definīcijas klauzulas, un tai ir šāda sintakse:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Apskatīsim vēl vienu piemēru ar tabulu Auto. Pieņemsim, ka vēlaties nodrošināt, lai tabulā Auto nebūtu ierakstu, kam sakrīt parametru Nosaukums, Gads, Stāvoklis un Cena vērtības. Lai izveidotu ierobežojumu UNIQUE, kas attiecas uz šiem laukiem, rīkojieties šādi:

  1. Cilnes Izveide grupā Makro un kods noklikšķiniet uz Vaicājuma noformējums.

  2. Aizveriet dialoglodziņu Tabulas rādīšana.

  3. Cilnes Noformējums grupā Vaicājuma tips noklikšķiniet uz Datu definīcija.

    Noformējuma režģis ir paslēpts, un tiek rādīta SQL skata objektu cilne.

  4. Ierakstiet šādu SQL priekšrakstu:

    ALTER TABLE automašīnu ADD CONSTRAINT NoDupes UNIKĀLU (nosaukumu, gadu, nosacījums, price)

  5. Cilnes Noformējums grupā Rezultāti noklikšķiniet uz Izpildīt.

Uz lapas sākumu

Piezīme : Mašīntulkošanas atruna. Šo rakstu ir tulkojusi datorsistēma bez cilvēka iejaukšanās. Microsoft piedāvā šos mašīntulkojumus, lai palīdzētu angliski nerunājošajiem lietotājiem izmanot saturu par Microsoft produktiem, pakalpojumiem un tehnoloģijām. Tā kā šis raksts ir mašīntulkots, tajā var būt leksikas, sintakses un gramatikas kļūdas.

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×