SQL -zelfstudie

SQL HOME SQL-intro SQL-syntaxis SQL-selectie SQL Select Distinct SQL waar SQL en, of, niet SQL-bestelling op SQL invoegen in SQL-nulwaarden SQL-update SQL verwijderen SQL Selecteer Top SQL Min en Max Aantal SQL, Gem, Som SQL Vind ik leuk SQL-jokertekens SQL In SQL Tussen SQL-aliassen SQL-joins SQL Inner Join SQL Left Join SQL juiste join Volledige deelname aan SQL Zelf lid worden van SQL SQL-unie SQL Groeperen op SQL hebben SQL bestaat SQL Alle, Alle SQL Selecteren in SQL invoegen in selecteren SQL-geval SQL Null-functies Op SQL opgeslagen procedures SQL-opmerkingen SQL-operators

SQL- database

SQL creëren DB SQL Drop-DB SQL back-up DB SQL-tabel maken SQL-droptabel SQL-wijzigingstabel SQL-beperkingen SQL niet null SQL Uniek Primaire SQL-sleutel SQL externe sleutel SQL-controle SQL-standaard SQL-index Automatische SQL-verhoging SQL-datums SQL-weergaven SQL injectie SQL-hosting SQL-gegevenstypen

SQL- verwijzingen

SQL-trefwoorden MySQL-functies SQL Server-functies MS Access-functies Snelle SQL-referentie

SQL- voorbeelden

SQL-voorbeelden SQL-quiz SQL-oefeningen SQL-certificaat

SQL AUTO INCREMENT -veld


Veld AUTOMATISCH VERHOGEN

Met Auto-increment kan automatisch een uniek nummer worden gegenereerd wanneer een nieuw record in een tabel wordt ingevoegd.

Vaak is dit het primaire sleutelveld dat we automatisch zouden willen aanmaken telkens wanneer een nieuw record wordt ingevoegd.


Syntaxis voor MySQL

De volgende SQL-instructie definieert de kolom "Personid" als een veld voor de primaire sleutel met automatische verhoging in de tabel "Personen":

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

MySQL gebruikt het AUTO_INCREMENTtrefwoord om een ​​functie voor automatisch verhogen uit te voeren.

Standaard is de startwaarde voor AUTO_INCREMENT1 en wordt deze met 1 verhoogd voor elke nieuwe record.

AUTO_INCREMENTGebruik de volgende SQL-instructie om de reeks met een andere waarde te laten beginnen:

ALTER TABLE Persons AUTO_INCREMENT=100;

Om een ​​nieuw record in de tabel "Personen" in te voegen, hoeven we GEEN waarde op te geven voor de kolom "Personid" (een unieke waarde wordt automatisch toegevoegd):

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

De bovenstaande SQL-instructie zou een nieuw record invoegen in de tabel "Personen". De kolom "Personid" zou een unieke waarde krijgen. De kolom "Voornaam" zou worden ingesteld op "Lars" en de kolom "Achternaam" zou worden ingesteld op "Monsen".


Syntaxis voor SQL Server

De volgende SQL-instructie definieert de kolom "Personid" als een veld voor de primaire sleutel met automatische verhoging in de tabel "Personen":

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

De MS SQL Server gebruikt het IDENTITYsleutelwoord om een ​​functie voor automatisch verhogen uit te voeren.

In het bovenstaande voorbeeld is de startwaarde voor IDENTITY1 en wordt deze met 1 verhoogd voor elke nieuwe record.

Tip: Als u wilt specificeren dat de kolom "Personid" moet beginnen met waarde 10 en moet worden verhoogd met 5, wijzigt u deze in IDENTITY(10,5).

Om een ​​nieuw record in de tabel "Personen" in te voegen, hoeven we GEEN waarde op te geven voor de kolom "Personid" (een unieke waarde wordt automatisch toegevoegd):

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

De bovenstaande SQL-instructie zou een nieuw record invoegen in de tabel "Personen". De kolom "Personid" zou een unieke waarde krijgen. De kolom "Voornaam" zou worden ingesteld op "Lars" en de kolom "Achternaam" zou worden ingesteld op "Monsen".



Syntaxis voor toegang

De volgende SQL-instructie definieert de kolom "Personid" als een veld voor de primaire sleutel met automatische verhoging in de tabel "Personen":

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

De MS-Access gebruikt het AUTOINCREMENTsleutelwoord om een ​​auto-increment-functie uit te voeren.

Standaard is de startwaarde voor AUTOINCREMENT1 en wordt deze met 1 verhoogd voor elke nieuwe record.

Tip: Als u wilt specificeren dat de kolom "Personid" moet beginnen met waarde 10 en moet worden verhoogd met 5, wijzigt u de automatische verhoging in AUTOINCREMENT(10,5).

Om een ​​nieuw record in de tabel "Personen" in te voegen, hoeven we GEEN waarde op te geven voor de kolom "Personid" (een unieke waarde wordt automatisch toegevoegd):

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

De bovenstaande SQL-instructie zou een nieuw record invoegen in de tabel "Personen". De kolom "Personid" zou een unieke waarde krijgen. De kolom "Voornaam" zou worden ingesteld op "Lars" en de kolom "Achternaam" zou worden ingesteld op "Monsen".


Syntaxis voor Oracle

In Oracle is de code een beetje lastiger.

U moet een automatisch ophogingsveld maken met het reeksobject (dit object genereert een nummerreeks).

Gebruik de volgende CREATE SEQUENCEsyntaxis:

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

De bovenstaande code maakt een reeksobject met de naam seq_person, dat begint met 1 en wordt verhoogd met 1. Het slaat ook maximaal 10 waarden op in de cache voor prestaties. De cache-optie specificeert hoeveel sequentiewaarden in het geheugen worden opgeslagen voor snellere toegang.

Om een ​​nieuw record in de tabel "Personen" in te voegen, moeten we de functie nextval gebruiken (deze functie haalt de volgende waarde op uit de reeks seq_person):

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

De bovenstaande SQL-instructie zou een nieuw record invoegen in de tabel "Personen". De kolom "Personid" krijgt het volgende nummer uit de reeks seq_person toegewezen. De kolom "Voornaam" zou worden ingesteld op "Lars" en de kolom "Achternaam" zou worden ingesteld op "Monsen".