SQL handleiding

SQL TUIS SQL Inleiding SQL-sintaksis SQL Kies SQL Kies Distinct SQL Waar SQL En, of, nie SQL Bestel deur SQL Voeg in SQL nulwaardes SQL-opdatering SQL verwyder SQL Kies Top SQL Min en Max SQL-telling, gemiddeld, som SQL Soos SQL Wildcards SQL in SQL Tussen SQL aliasse SQL sluit aan SQL Inner Sluit aan SQL Links Sluit aan SQL Reg Sluit aan SQL Volledige Aansluiting SQL Self Sluit aan SQL Unie SQL Groep deur SQL het SQL bestaan SQL Enige, Almal SQL Kies In SQL Voeg in Kies SQL-geval SQL nul-funksies SQL gestoorde prosedures SQL opmerkings SQL-operateurs

SQL- databasis

SQL Skep DB SQL Drop DB SQL Backup DB SQL Skep tabel SQL Drop Tabel SQL Verander Tabel SQL-beperkings SQL nie nul nie SQL Uniek SQL Primêre Sleutel SQL buitelandse sleutel SQL Check SQL verstek SQL-indeks SQL Outo-verhoging SQL datums SQL-aansigte SQL-inspuiting SQL Hosting SQL-datatipes

SQL- verwysings

SQL sleutelwoorde MySQL-funksies SQL Server funksies MS Access-funksies SQL Vinnige Verw

SQL voorbeelde

SQL voorbeelde SQL vasvra SQL-oefeninge SQL-sertifikaat

SQL OUTO-INKREMENT Veld


Outo-toename Veld

Outo-inkrement laat toe dat 'n unieke nommer outomaties gegenereer word wanneer 'n nuwe rekord in 'n tabel ingevoeg word.

Dikwels is dit die primêre sleutelveld wat ons outomaties wil hê elke keer as 'n nuwe rekord ingevoeg word.


Sintaksis vir MySQL

Die volgende SQL-stelling definieer die "Personid"-kolom as 'n outo-inkrementerende primêre sleutelveld in die "Persone"-tabel:

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL gebruik die AUTO_INCREMENTsleutelwoord om 'n outomatiese inkrementfunksie uit te voer.

By verstek is die beginwaarde vir AUTO_INCREMENT1, en dit sal met 1 toeneem vir elke nuwe rekord.

Om die AUTO_INCREMENTry met 'n ander waarde te laat begin, gebruik die volgende SQL-stelling:

ALTER TABLE Persons AUTO_INCREMENT=100;

Om 'n nuwe rekord in die "Persone"-tabel in te voeg, hoef ons NIE 'n waarde vir die "Personid"-kolom te spesifiseer nie ('n unieke waarde sal outomaties bygevoeg word):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

Die SQL-stelling hierbo sal 'n nuwe rekord in die "Persone"-tabel invoeg. Aan die "Personid"-kolom sal 'n unieke waarde toegeken word. Die "FirstName"-kolom sal op "Lars" gestel word en die "LastName"-kolom sal op "Monsen" gestel word.


Sintaksis vir SQL Server

Die volgende SQL-stelling definieer die "Personid"-kolom as 'n outo-inkrementerende primêre sleutelveld in die "Persone"-tabel:

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

Die MS SQL Server gebruik die IDENTITYsleutelwoord om 'n outomatiese inkrementfunksie uit te voer.

In die voorbeeld hierbo is die beginwaarde vir IDENTITY1, en dit sal met 1 toeneem vir elke nuwe rekord.

Wenk: Om te spesifiseer dat die "Personid"-kolom by waarde 10 moet begin en met 5 moet toeneem, verander dit na IDENTITY(10,5).

Om 'n nuwe rekord in die "Persone"-tabel in te voeg, hoef ons NIE 'n waarde vir die "Personid"-kolom te spesifiseer nie ('n unieke waarde sal outomaties bygevoeg word):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

Die SQL-stelling hierbo sal 'n nuwe rekord in die "Persone"-tabel invoeg. Aan die "Personid"-kolom sal 'n unieke waarde toegeken word. Die "FirstName"-kolom sal op "Lars" gestel word en die "LastName"-kolom sal op "Monsen" gestel word.



Sintaksis vir toegang

Die volgende SQL-stelling definieer die "Personid"-kolom as 'n outo-inkrementerende primêre sleutelveld in die "Persone"-tabel:

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

Die MS Access gebruik die AUTOINCREMENTsleutelwoord om 'n outomatiese inkrementfunksie uit te voer.

By verstek is die beginwaarde vir AUTOINCREMENT1, en dit sal met 1 toeneem vir elke nuwe rekord.

Wenk: Om te spesifiseer dat die "Personid"-kolom by waarde 10 moet begin en met 5 moet toeneem, verander die outo-inkrement na AUTOINCREMENT(10,5).

Om 'n nuwe rekord in die "Persone"-tabel in te voeg, hoef ons NIE 'n waarde vir die "Personid"-kolom te spesifiseer nie ('n unieke waarde sal outomaties bygevoeg word):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

Die SQL-stelling hierbo sal 'n nuwe rekord in die "Persone"-tabel invoeg. Aan die "Personid"-kolom sal 'n unieke waarde toegeken word. Die "FirstName"-kolom sal op "Lars" gestel word en die "LastName"-kolom sal op "Monsen" gestel word.


Sintaksis vir Oracle

In Oracle is die kode 'n bietjie meer lastig.

Jy sal 'n outo-inkrement veld met die volgorde voorwerp moet skep (hierdie voorwerp genereer 'n getalreeks).

Gebruik die volgende CREATE SEQUENCEsintaksis:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;

Die kode hierbo skep 'n volgorde-objek genaamd seq_person, wat met 1 begin en met 1 sal inkrementeer. Dit sal ook tot 10 waardes in die kas kas vir prestasie. Die kas-opsie spesifiseer hoeveel volgordewaardes in die geheue gestoor sal word vir vinniger toegang.

Om 'n nuwe rekord in die "Persone"-tabel in te voeg, sal ons die nextval-funksie moet gebruik (hierdie funksie haal die volgende waarde uit seq_person-volgorde):

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');

Die SQL-stelling hierbo sal 'n nuwe rekord in die "Persone"-tabel invoeg. Die "Personid"-kolom sal die volgende nommer van die seq_person-reeks toegeken word. Die "FirstName"-kolom sal op "Lars" gestel word en die "LastName"-kolom sal op "Monsen" gestel word.