SQL Cheat Sheet

SQL Cheat Sheet Intro Image


In deze handleiding vindt u een handig spiekbriefje dat enkele van de meer algemeen gebruikte elementen van SQL documenteert, en zelfs enkele van de minder gebruikelijke. Hopelijk helpt het ontwikkelaars – zowel beginners als ervaren niveau – om hun SQL-taal beter te begrijpen.

Gebruik dit als een snelle referentie tijdens de ontwikkeling, als een leerhulpmiddel, of print het zelfs uit en bind het als je dat liever hebt (wat ook werkt!).

Maar voordat we bij het spiekbriefje zelf komen, laten we voor ontwikkelaars die misschien niet bekend zijn met SQL beginnen met …

Wat is SQL

SQL staat voor Structured Query Language. Het is de taal bij uitstek op het web van vandaag voor het opslaan, manipuleren en ophalen van gegevens in relationele databases. De meeste, zo niet allemaal van de websites die u bezoekt, zal deze op een of andere manier gebruiken, inclusief deze een.

Zo ziet een basis relationele database eruit. Dit voorbeeld slaat met name e-commerce-informatie op, met name de producten die te koop zijn, de gebruikers die ze kopen, en records van deze bestellingen die deze 2 entiteiten met elkaar verbinden.

Een basis relationele database

Met behulp van SQL kunt u communiceren met de database door query’s te schrijven, die bij uitvoering alle resultaten opleveren die aan de criteria voldoen.

Hier is een voorbeeldquery:-

SELECT * VAN gebruikers;

Met behulp van deze SELECT-instructie selecteert de query alle gegevens uit alle kolommen in de gebruikerstabel. Het retourneert dan gegevens zoals hieronder, die doorgaans een resultatenset wordt genoemd:-

Voorbeeld gebruikerslijst

Als we in plaats daarvan het asterisk-jokerteken (*) zouden vervangen door specifieke kolomnamen, zouden alleen de gegevens uit deze kolommen uit de query worden geretourneerd.

SELECT voornaam, achternaam VAN gebruikers;

Voorbeeld van een gebruikerstabel met gereduceerde kolommen

We kunnen een beetje complexiteit toevoegen aan een standaard SELECT-instructie door een WHERE-clausule toe te voegen, waarmee u kunt filteren wat wordt geretourneerd.

SELECTEER * UIT producten WAAR stock_count <= 10 ORDER BY stock_count ASC;

Deze query retourneert alle gegevens uit de productentabel met een stock_count-waarde van minder dan 10 in de resultatenset.

Het gebruik van het trefwoord ORDER BY betekent dat de resultaten worden geordend in de kolom stock_count, van de laagste tot de hoogste.

Voorbeeld producten tafel

Met behulp van de INSERT INTO-instructie kunnen we nieuwe gegevens aan een tabel toevoegen. Hier is een eenvoudig voorbeeld van het toevoegen van een nieuwe gebruiker aan de gebruikerstabel:-

INSERT INTO gebruikers (voornaam, achternaam, adres, e-mail)
WAARDEN ('Tester', 'Jester', '123 Fake Street, Sheffield, Verenigd Koninkrijk', '[email protected]');

Als u de query vervolgens opnieuw zou uitvoeren om alle gegevens uit de tabel van de gebruiker te retourneren, zouden de set resultaten er als volgt uitzien:

Voorbeeldtabel met nieuwe rij

Natuurlijk laten deze voorbeelden slechts een zeer kleine selectie zien van waartoe de SQL-taal in staat is.

SQL versus MySQL

Je hebt misschien al eerder van MySQL gehoord. Het is belangrijk dat je dit niet verwart met SQL zelf, want er is een duidelijk verschil.

SQL versus MySQLSQL is de taal. Het schetst de syntaxis waarmee u queries kunt schrijven die relationele databases beheren. Niets meer.

MySQL is ondertussen een database systeem dat draait op een server. Het werktuigen de SQL-taal, zodat u query's kunt schrijven met de syntaxis ervan om MySQL-databases te beheren.

Naast MySQL zijn er andere systemen die SQL implementeren. Enkele van de meer populaire zijn:

  • PostgreSQL
  • SQLite
  • Oracle Database
  • Microsoft SQL Server

MySQL installeren

ramen

De aanbevolen manier om MySQL op Windows te installeren, is door het installatieprogramma te gebruiken dat u kunt downloaden van MySQL-website.

Installeer MySQL Windows

MacOS

Op macOS is de aanbevolen manier om MySQL te installeren het gebruik van native pakketten, wat veel ingewikkelder klinkt dan het in werkelijkheid is. Het gaat in wezen ook om het downloaden van een installatieprogramma.

Installeer MySQL Mac

Als alternatief, als u liever pakketmanagers gebruikt, zoals Homebrew, je kunt MySQL zo installeren:

brouw installeren mysql

Terwijl u, als u de oudere MySQL-versie 5.7 moet installeren, die nog steeds op grote schaal wordt gebruikt op het web, u kunt:

brew install [beveiligd met e-mail]

MySQL gebruiken

Nu MySQL op uw systeem is geïnstalleerd, wordt u aangeraden om een ​​SQL-beheerapplicatie te gebruiken om het beheer van uw databases een veel eenvoudiger en gemakkelijker proces te maken om zo snel mogelijk aan de slag te gaan met het schrijven van SQL-query's..

Er zijn veel apps om uit te kiezen die grotendeels hetzelfde werk doen, dus het is aan uw eigen persoonlijke voorkeur welke u moet gebruiken:

  • MySQL Workbench is ontwikkeld door Oracle, de eigenaar van MySQL.
  • HeidiSQL (Aanbevolen Windows) is een gratis open-source app voor Windows. Voor macOS- en Linux-gebruikers, Wijn is eerst vereist als voorwaarde.
  • phpMyAdmin is een zeer populair alternatief dat werkt in de webbrowser.
  • Sequel Pro (Aanbevolen macOS) is het enige alternatief voor macOS en onze favoriet dankzij de duidelijke en gebruiksvriendelijke interface.

Als u klaar bent om te beginnen met het schrijven van uw eigen SQL-query's, in plaats van tijd te besteden aan het maken van uw eigen database, overweeg dan om dummy-gegevens te importeren.

De MySQL-website biedt een aantal dummy-databases die u gratis kunt downloaden en vervolgens kunt importeren in uw SQL-app.

Dummy Database MySQL

Onze favoriet hiervan is de wereld database, die een aantal interessante gegevens biedt om te oefenen met het schrijven van SQL-queries. Hier is een screenshot van de landentabel in Sequel Pro.

Sequel Pro-voorbeeld

Deze voorbeeldquery retourneert alle landen met koningin Elizabeth II als staatshoofd ����.

Sequel Pro-voorbeeld

Terwijl deze alle Europese landen met een bevolking van meer dan 50 miljoen teruggeeft, samen met hun hoofdstad en haar bevolking.

Sequel Pro-voorbeeld

En deze laatste geeft het gemiddelde percentage Franstaligen terug in landen waar het totale aantal Franstaligen hoger is dan 10%.

Sequel Pro-voorbeeld

Spiek briefje

Sleutelwoorden

Een verzameling trefwoorden die worden gebruikt in SQL-instructies, een beschrijving en eventueel een voorbeeld. Sommige van de meer geavanceerde zoekwoorden hebben later in het spiekbriefje hun eigen speciale sectie.

Waar MySQL naast een voorbeeld wordt genoemd, betekent dit dat dit voorbeeld alleen van toepassing is op MySQL-databases (in tegenstelling tot elk ander databasesysteem).

SQL-trefwoorden
ZoekwoordOmschrijving
TOEVOEGENVoegt een nieuwe kolom toe aan een bestaande tabel.

Voorbeeld: Voegt een nieuwe kolom met de naam 'e-mailadres' toe aan een tabel met de naam 'gebruikers'.

ALTER TABEL gebruikers
E-mailadres toevoegen varchar (255);
CONSTRAINT TOEVOEGENHet creëert een nieuwe beperking op een bestaande tabel, die wordt gebruikt om regels op te geven voor alle gegevens in de tabel.

Voorbeeld: Voegt een nieuwe PRIMARY KEY-beperking toe met de naam ‘gebruiker’ in de kolommen ID en SURNAME.

ALTER TABEL gebruikers
TOEGEVOEGDE gebruiker PRIMAIRE SLEUTEL TOEVOEGEN (ID, NAAM);
ALTER TABELKolommen in een tabel toevoegen, verwijderen of bewerken. Het kan ook worden gebruikt om beperkingen in een tabel toe te voegen en te verwijderen, zoals hierboven beschreven.

Voorbeeld: Voegt een nieuwe booleaanse kolom genaamd ‘goedgekeurd’ toe aan een tabel met de naam ‘deals’.

ALTER TABLE aanbiedingen
ADD goedgekeurde boolean;

Voorbeeld 2: Verwijdert de kolom ‘goedgekeurd’ uit de tabel ‘deals’

ALTER TABLE aanbiedingen
DROP COLUMN goedgekeurd;
ALTER KOLOMWijzigt het gegevenstype van een tabelkolom.

Voorbeeld: Maak in de tabel ‘gebruikers’ de kolom ‘incept_date’ in een ‘datetime’ type.

ALTER TABEL gebruikers
ALTER COLUMN incept_date datetime;
ALLEMAALRetourneert true als alle subquerywaarden voldoen aan de voorwaarde voor geslaagd.

Voorbeeld: Retourneert de gebruikers met een hoger aantal taken dan de gebruiker met het hoogste aantal taken op de HR-afdeling (id 2)

KIES voornaam, achternaam, takennr
VAN gebruikers
WAAR taken_no> ALL (KIES taken VAN gebruiker WAAR afdeling_id = 2);
ENWordt gebruikt om afzonderlijke voorwaarden samen te voegen binnen een WHERE-clausule.

Voorbeeld: Retourneert evenementen in Londen, Verenigd Koninkrijk

SELECT * VAN evenementen
WAAR host_country = 'Verenigd Koninkrijk' EN host_city = 'Londen';
IEDERRetourneert true als een van de subquerywaarden aan de gegeven voorwaarde voldoet.

Voorbeeld: Retourneert producten uit de productentabel die bestellingen hebben ontvangen - opgeslagen in de besteltabel - met een hoeveelheid van meer dan 5.

SELECTEER naam
VAN producten
WAAR productId = ELKE (KIES productId UIT bestellingen WAAR hoeveelheid> 5);
NET ZOHernoemt een tabel of kolom met een aliaswaarde die alleen bestaat voor de duur van de query.

Voorbeeld: Aliassen kolom north_east_user_subscriptions

SELECTEER north_east_user_subscriptions AS ne_subs
VAN gebruikers
WAAR ne_subs> 5;
ASCGebruikt met ORDER BY om de gegevens in oplopende volgorde te retourneren.

Voorbeeld: Appels, bananen, perziken, radijs

TUSSENSelecteert waarden binnen het opgegeven bereik.

Voorbeeld 1: Selecteert voorraad met een hoeveelheid tussen 100 en 150.

SELECT * UIT voorraad
WAAR hoeveelheid tussen 100 en 150;

Voorbeeld 2: Selecteert voorraad met een hoeveelheid die NIET tussen 100 en 150 ligt. Als alternatief, keert het gebruik van het NOT-sleutelwoord hier de logica om en selecteert waarden buiten het gegeven bereik.

SELECT * UIT voorraad
WAAR hoeveelheid niet tussen 100 en 150;
GEVALWijzig de query-uitvoer afhankelijk van de omstandigheden.

Voorbeeld: Geeft gebruikers en hun abonnementen terug, samen met een nieuwe kolom met de naam activity_levels die een oordeel velt op basis van het aantal abonnementen.

SELECTEER voornaam, achternaam, abonnementen
GEVAL WANNEER abonnementen> 10 DAN 'Zeer actief'
WANNEER Hoeveelheid TUSSEN 3 EN 10 DAN 'Actief'
ELS 'Inactief'
EINDE AS activity_levels
VAN gebruikers;
CONTROLERENVoegt een beperking toe die de waarde beperkt die aan een kolom kan worden toegevoegd.

Voorbeeld 1 (MySQL): Zorgt ervoor dat alle gebruikers die aan de gebruikerstabel zijn toegevoegd 18 jaar of ouder zijn.

CREËER TABEL gebruikers (
voornaam varchar (255),
leeftijd int,
CHECK (leeftijd> = 18)
);

Voorbeeld 2 (MySQL): Voegt een vinkje toe nadat de tabel al is gemaakt.

ALTER TABEL gebruikers
CONTROLE TOEVOEGEN (leeftijd> = 18);
DATABASE MAKENCreëert een nieuwe database.

Voorbeeld: Creëert een nieuwe database genaamd ‘websitesetup’.

DATABASE MAKEN websitesetup;
MAAK TAFELCreëert een nieuwe tafel .

Voorbeeld: Maakt een nieuwe tabel met de naam ‘gebruikers’ in de ‘websitesetup’ database.

CREËER TABEL gebruikers (
id int,
voornaam varchar (255),
achternaam varchar (255),
adres varchar (255),
contactnummer int
);
STANDAARDStelt een standaardwaarde in voor een kolom;

Voorbeeld 1 (MySQL): Maakt een nieuwe tabel met de naam Products met een naamkolom met de standaardwaarde ‘Placeholder Name’ en een kolom available_from met een standaardwaarde voor de datum van vandaag.

MAAK TAFEL producten (
id int,
naam varchar (255) STANDAARD 'Tijdelijke aanduiding',
available_from date STANDAARD GETDATE ()
);

Voorbeeld 2 (MySQL): Hetzelfde als hierboven, maar het bewerken van een bestaande tabel.

ALTER TABLE producten
ALTER naam STANDAARD 'Tijdelijke aanduiding',
ALTER beschikbaar_van STANDAARD GETDATE ();
VERWIJDERENVerwijder gegevens uit een tabel.

Voorbeeld: Verwijdert een gebruiker met een user_id van 674.

VERWIJDEREN VAN gebruikers WAAR user_id = 674;
DESCGebruikt met ORDER BY om de gegevens in aflopende volgorde te retourneren.

Voorbeeld: Radijs, perziken, bananen, appels

DALINGSKOLOMVerwijdert een kolom uit een tabel.

Voorbeeld: Verwijdert de voornaam-kolom uit de gebruikerstabel.

ALTER TABEL gebruikers
DROP COLUMN voornaam
DROP DATABASEVerwijdert de hele database.

Voorbeeld: Verwijdert een database met de naam ‘websitesetup’.

DROP DATABASE websitesetup;
DROP STANDAARDVerwijdert een standaardwaarde voor een kolom.

Voorbeeld (MySQL): Verwijdert de standaardwaarde uit de kolom ‘naam’ in de tabel ‘producten’.

ALTER TABLE producten
ALTER COLUMN naam DROP DEFAULT;
DALINGSTABELVerwijdert een tabel uit een database.

Voorbeeld: Verwijdert de gebruikerstabel.

DROP TABLE gebruikers;
BESTAATControleert op het bestaan ​​van een record binnen de subquery en retourneert true als een of meer records worden geretourneerd.

Voorbeeld: Geeft alle dealers weer met een financieringspercentage voor deals van minder dan 10.

KIES dealernaam
VAN dealers
WAAR BESTAAT (SELECT deal_name FROM deals WHERE dealership_id = deals.dealership_id EN finance_percentage < 10);
VANSpecificeert uit welke tabel gegevens moeten worden geselecteerd of verwijderd.

Voorbeeld: Selecteert gegevens uit de gebruikerstabel.

SELECTEER area_manager
VAN area_managers
WAAR BESTAAT (KIES Productnaam UIT Producten WAAR gebied_manager_id = deals.area_manager_id EN Prijs < 20);
INWordt gebruikt naast een WHERE-clausule als afkorting voor meerdere OR-voorwaarden.

Dus in plaats van:-

SELECT * VAN gebruikers
WAAR country = 'USA' OF country = 'Verenigd Koninkrijk' OF country = 'Rusland' OF country = 'Australië';

Je kunt gebruiken:-

SELECT * VAN gebruikers
WAAR land IN ('VS', 'Verenigd Koninkrijk', 'Rusland', 'Australië');
INVOEGENVoeg nieuwe rijen toe aan een tabel.

Voorbeeld: Voegt een nieuw voertuig toe.

INSERT INTO auto's (merk, model, kilometerstand, jaar)
WAARDEN ('Audi', 'A3', 30000, 2016);
IS NIETSTests voor lege (NULL) waarden.

Voorbeeld: Geeft gebruikers terug die geen contactnummer hebben opgegeven.

SELECT * VAN gebruikers
WAAR contactnummer NULL IS;
IS NIET NULHet omgekeerde van NULL. Tests voor waarden die niet leeg / NULL zijn.
LEUK VINDENRetourneert true als de operandwaarde overeenkomt met een patroon.

Voorbeeld: Retourneert true als de voornaam van de gebruiker eindigt op 'zoon'.

SELECT * VAN gebruikers
WAAR first_name LIKE '% son';
NIETRetourneert true als een record NIET aan de voorwaarde voldoet.

Voorbeeld: Retourneert true als de voornaam van de gebruiker niet op 'zoon' eindigt.

SELECT * VAN gebruikers
WAAR voornaam NIET ALS '% zoon';
OFWordt gebruikt naast WHERE om gegevens op te nemen wanneer een van beide voorwaarden waar is.

Voorbeeld: Retourneert gebruikers die in Sheffield of Manchester wonen.

SELECT * VAN gebruikers
WAAR city = 'Sheffield' OF 'Manchester';
BESTELLEN DOORWordt gebruikt om de resultaatgegevens in oplopende (standaard) of aflopende volgorde te sorteren met behulp van ASC- of DESC-sleutelwoorden.

Voorbeeld: Retourneert landen in alfabetische volgorde.

SELECT * UIT landen
BESTELLEN OP naam;
ROWNUMRetourneert resultaten waarbij het rijnummer voldoet aan de doorgegeven voorwaarde.

Voorbeeld: Retourneert de top 10 landen uit de tabel met landen.

SELECT * UIT landen
WAAR ROWNUM <= 10;
SELECTEERWordt gebruikt om gegevens uit een database te selecteren, die vervolgens worden geretourneerd in een resultatenset.

Voorbeeld 1: Selecteert alle kolommen van alle gebruikers.

SELECT * VAN gebruikers;

Voorbeeld 2: Selecteert de kolommen voor- en achternaam van alle gebruikers. Xxx

SELECT voornaam, achternaam VAN gebruikers;
SELECTEER ONDERSCHEIDHet heet SELECT, behalve dat dubbele waarden zijn uitgesloten.

Voorbeeld: Maakt een back-uptabel met gegevens uit de gebruikerstabel.

SELECT * INTO gebruikersBackup2020
VAN gebruikers;
SELECTEER INKopieert gegevens van de ene tabel en voegt deze in een andere in.

Voorbeeld: Retourneert alle landen uit de gebruikerstabel en verwijdert dubbele waarden (wat zeer waarschijnlijk is)

SELECT DISTINCT land van gebruikers;
SELECTEER TOPHiermee kunt u een bepaald aantal records retourneren dat u uit een tabel wilt retourneren.

Voorbeeld: Retourneert de top 3 auto's van de autotabel.

SELECTEER TOP 3 * VAN auto's;
SETWordt naast UPDATE gebruikt om bestaande gegevens in een tabel bij te werken.

Voorbeeld: Werkt de waarde- en kwantiteitswaarden bij voor een bestelling met een id van 642 in de besteltabel.

UPDATE bestellingen
SET waarde = 19,49, hoeveelheid = 2
WAAR id = 642;
SOMMIGEIdentiek aan ELK.
TOPWordt naast SELECT gebruikt om een ​​bepaald aantal records uit een tabel te retourneren.

Voorbeeld: Retourneert de top 5 gebruikers uit de gebruikerstabel.

SELECTEER TOP 5 * VAN gebruikers;
TRUNCATE TABELVergelijkbaar met DROP, maar in plaats van de tabel en de bijbehorende gegevens te verwijderen, worden alleen de gegevens verwijderd.

Voorbeeld: Maakt de sessietafel leeg, maar laat de tafel zelf intact.

TRUNCATE TABLE-sessies;
UNIECombineert de resultaten van 2 of meer SELECT-instructies en retourneert alleen afzonderlijke waarden.

Voorbeeld: Geeft de steden terug uit de tabellen met evenementen en abonnees.

Selecteer stad uit evenementen
UNIE
SELECTEER stad van abonnees;
UNIE ALLESHetzelfde als UNION, maar bevat dubbele waarden.
UNIEKDeze beperking zorgt ervoor dat alle waarden in een kolom uniek zijn.

Voorbeeld 1 (MySQL): Voegt een unieke beperking toe aan de id-kolom bij het maken van een nieuwe gebruikerstabel.

CREËER TABEL gebruikers (
id int NIET NULL,
naam varchar (255) NIET NULL,
Unieke ID)
);

Voorbeeld 2 (MySQL): Verandert een bestaande kolom om een ​​UNIEKE beperking toe te voegen.

ALTER TABEL gebruikers
UNIEK TOEVOEGEN (id);
BIJWERKENWerkt bestaande gegevens in een tabel bij.

Voorbeeld: Werkt de kilometerstand- en serviceDue-waarden bij voor een voertuig met een ID van 45 in de autotabel.

UPDATE auto's
SET kilometerstand = 23500, serviceDue = 0
WAAR id = 45;
WAARDENWordt gebruikt naast het INSERT INTO-sleutelwoord om nieuwe waarden aan een tabel toe te voegen.

Voorbeeld: Voegt een nieuwe auto toe aan de autotafel.

INSERT INTO auto's (naam, model, jaar)
WAARDEN ('Ford', 'Fiesta', 2010);
WAARFiltert resultaten om alleen gegevens op te nemen die aan de gegeven voorwaarde voldoen.

Voorbeeld: Retourneert bestellingen met een hoeveelheid van meer dan 1 item.

SELECT * UIT bestellingen
WAAR hoeveelheid> 1;

Opmerkingen

Opmerkingen stellen u in staat secties van uw SQL-instructies uit te leggen of om code uit te schakelen en de uitvoering ervan te voorkomen.

In SQL zijn er 2 soorten opmerkingen, één regel en meerdere regels.

Enkele regel opmerkingen

Opmerkingen met één regel beginnen met -. Elke tekst na deze 2 tekens aan het einde van de regel wordt genegeerd.

-- Mijn Select-zoekopdracht
SELECT * VAN gebruikers;

Multiline-opmerkingen

Opmerkingen met meerdere regels beginnen met / * en eindigen met * /. Ze strekken zich uit over meerdere regels totdat de afsluitende karakters zijn gevonden.

/ *
Dit is mijn selecte vraag.
Het pakt alle rijen met gegevens uit de gebruikerstabel
* /
SELECT * VAN gebruikers;

/ *
Dit is weer een select-query, die ik nog niet wil uitvoeren

SELECT * UIT taken;
* /

MySQL-gegevenstypen

Wanneer u een nieuwe tabel maakt of een bestaande bewerkt, moet u het type gegevens opgeven dat elke kolom accepteert.

In het onderstaande voorbeeld moeten gegevens die worden doorgegeven aan de id-kolom een ​​int zijn, terwijl de kolom first_name een VARCHAR-gegevenstype heeft met een maximum van 255 tekens.

CREËER TABEL gebruikers (
id int,
voornaam varchar (255)
);

String gegevenstypen

String gegevenstypen
Data typeOmschrijving
CHAR (maat)Tekenreeks met vaste lengte die letters, cijfers en speciale tekens kan bevatten. De parameter size stelt de maximale tekenreekslengte in, van 0 - 255 met een standaardwaarde van 1.
VARCHAR (maat)String met variabele lengte vergelijkbaar met CHAR (), maar met een maximaal stringlengtebereik van 0 tot 65535.
BINAIR (maat)Vergelijkbaar met CHAR () maar slaat binaire byte-strings op.
VARBINAIR (maat)Vergelijkbaar met VARCHAR () maar voor binaire byte-strings.
TINYBLOBBevat binaire grote objecten (BLOB's) met een maximale lengte van 255 bytes.
TINYTEXTBevat een tekenreeks met een maximale lengte van 255 tekens. Gebruik in plaats daarvan VARCHAR (), omdat het veel sneller wordt opgehaald.
Lettergrootte)Bevat een string met een maximale lengte van 65535 bytes. Nogmaals, beter om VARCHAR () te gebruiken.
BLOB (maat)Bevat binaire grote objecten (BLOB's) met een maximale lengte van 65535 bytes.
MEDIUMTEXTBevat een tekenreeks met een maximale lengte van 16.777.215 tekens.
MEDIUMBLOBBevat binaire grote objecten (BLOB's) met een maximale lengte van 16.777.215 bytes.
LONGTEXTBevat een tekenreeks met een maximale lengte van 4.294.967.295 tekens.
LONGBLOBBevat binaire grote objecten (BLOB's) met een maximale lengte van 4.294.967.295 bytes.
ENUM (a, b, c, enz ...)Een stringobject dat slechts één waarde heeft, die is gekozen uit een lijst met waarden die u definieert, met een maximum van 65535 waarden. Als een waarde wordt toegevoegd die niet op deze lijst staat, wordt deze vervangen door een lege waarde. Bedenk dat ENUM in dit opzicht vergelijkbaar is met HTML-radioboxen.

CREËER TAFEL t-shirts (kleur ENUM (‘rood’, ‘groen’, ‘blauw’, ‘geel’, ‘paars’));
SET (a, b, c, enz ...)Een stringobject dat 0 of meer waarden kan hebben, gekozen uit een lijst met waarden die u definieert, tot een maximum van 64 waarden. Bedenk dat SET in dit opzicht vergelijkbaar is met HTML-selectievakjes.

Numerieke gegevenstypen

String gegevenstypen
Data typeOmschrijving
BIT (maat)Een bitwaardetype met een standaardwaarde van 1. Het toegestane aantal bits in een waarde wordt ingesteld via de parameter size, die waarden van 1 tot 64 kan bevatten.
TINYINT (maat)Een heel klein geheel getal met een ondertekend bereik van -128 tot 127 en een niet-ondertekend bereik van 0 tot 255. Hier specificeert de parameter size de maximaal toegestane weergavebreedte, die 255 is.
BOOLIn wezen een snelle manier om de kolom in te stellen op TINYINT met een grootte van 1. 0 wordt als onwaar beschouwd, terwijl 1 als waar wordt beschouwd.
BOOLEANHetzelfde als BOOL.
SMALLINT (maat)Een klein geheel getal met een ondertekend bereik van -32768 tot 32767 en een niet-ondertekend bereik van 0 tot 65535. Hier specificeert de parameter size de maximaal toegestane weergavebreedte, die 255 is.
MEDIUMINT (maat)Een gemiddeld geheel getal met een ondertekend bereik van -8388608 tot 8388607 en een niet-ondertekend bereik van 0 tot 16777215. Hier specificeert de parameter size de maximaal toegestane weergavebreedte, die 255 is.
INT (maat)Een gemiddeld geheel getal met een ondertekend bereik van -2147483648 tot 2147483647 en een niet-ondertekend bereik van 0 tot 4294967295. Hier specificeert de parameter size de maximaal toegestane weergavebreedte, die 255 is.
INTEGER (maat)Hetzelfde als INT.
BIGINT (maat)Een gemiddeld geheel getal met een ondertekend bereik van -9223372036854775808 tot 9223372036854775807 en een niet-ondertekend bereik van 0 tot 18446744073709551615. Hier specificeert de parameter size de maximaal toegestane weergavebreedte, die 255 is.
FLOAT (p)Een drijvende-kommagetalwaarde. Als de parameter precisie (p) tussen 0 en 24 ligt, wordt het gegevenstype ingesteld op FLOAT (), en als het tussen 25 en 53 is, wordt het gegevenstype ingesteld op DUBBEL (). Dit gedrag is bedoeld om de opslag van waarden efficiënter te maken.
DUBBEL (maat, d)Een drijvende-kommagetalwaarde waarbij de totale cijfers worden ingesteld door de parameter size, en het aantal cijfers achter de komma wordt ingesteld door de d-parameter.
DECIMAL (maat, d)Een exact vast puntnummer waarbij het totale aantal cijfers wordt bepaald door de grootteparameters en het totale aantal cijfers achter de komma wordt ingesteld door de d-parameter.

Voor grootte is het maximale aantal 65 en de standaard is 10, terwijl voor d het maximale aantal 30 is en de standaard 10 is.

DEC (maat, d)Hetzelfde als DECIMAL.

Datum / tijd gegevenstypen

Datum / tijd gegevenstypen
Data typeOmschrijving
DATUMEen eenvoudige datum in de indeling JJJJ-MM-DD, met een ondersteund bereik van ‘1000-01-01’ tot ‘9999-12-31’.
DATETIME (fsp)Een datumtijd in JJJJ-MM-DD uu: mm: ss-indeling, met een ondersteund bereik van ‘1000-01-01 00:00:00’ tot ‘9999-12-31 23:59:59’.

Door DEFAULT en ON UPDATE aan de kolomdefinitie toe te voegen, wordt deze automatisch ingesteld op de huidige datum / tijd.

TIMESTAMP (fsp)Een Unix-tijdstempel, wat een waarde is in verhouding tot het aantal seconden sinds het Unix-tijdperk (‘1970-01-01 00:00:00’ UTC). Dit heeft een ondersteund bereik van ‘1970-01-01 00:00:01’ UTC tot ‘2038-01-09 03:14:07’ UTC.

Door DEFAULT CURRENT_TIMESTAMP en ON UPDATE CURRENT TIMESTAMP toe te voegen aan de kolomdefinitie, wordt het automatisch ingesteld op de huidige datum / tijd.

TIJD (fsp)Een tijd in uu: mm: ss-indeling, met een ondersteund bereik van ‘-838: 59: 59’ tot ‘838: 59: 59’.
JAAREen jaar, met een ondersteund bereik van ‘1901’ tot ‘2155’.

Exploitanten

Rekenkundige operators

Rekenkundige operators
TelefonisteOmschrijving
+Toevoegen
-Aftrekken
*Vermenigvuldigen
/Verdelen
%Modulo

Bitwise Operator

Bitwise Operators
TelefonisteOmschrijving
&Bitwise AND
|Bitwise OR
^Bitwise exclusief OR

Vergelijkingsoperatoren

Vergelijkingsoperatoren
TelefonisteOmschrijving
=Gelijk aan
>Groter dan
<Minder dan
> =Groter dan of gelijk aan
<=Minder dan of gelijk aan
<>Niet gelijk aan

Samengestelde operators

Samengestelde operators
TelefonisteOmschrijving
+=Voeg gelijk toe
-=Aftrekken is gelijk aan
* =Vermenigvuldigen is gelijk aan
/ =Verdeel is gelijk
% =Modulo is gelijk
& =Bitwise AND is gelijk aan
^ - =Exclusief Bitwise is gelijk
| * =Bitwise OR is gelijk aan

Functies

Tekenreeksfuncties

Tekenreeksfuncties
NaamOmschrijving
ASCIIRetourneert de equivalente ASCII-waarde voor een specifiek teken.
CHAR_LENGTHRetourneert de tekenlengte van een tekenreeks.
KARAKTER_LENGTEHetzelfde als CHAR_LENGTH.
CONCATVoegt uitdrukkingen samen toe, met een minimum van 2.
CONCAT_WSVoegt uitdrukkingen samen toe, maar met een scheidingsteken tussen elke waarde.
VELDRetourneert een indexwaarde relatief aan de positie van een waarde binnen een zoeklijst.
VIND IN SETRetourneert de positie van een tekenreeks in een lijst met tekenreeksen.
FORMAATGeeft bij het passeren van een getal dat getal terug dat is opgemaakt met komma's (bijvoorbeeld 3.400.000).
INSERTHiermee kunt u de ene tekenreeks op een bepaald punt in een andere invoegen, voor een bepaald aantal tekens.
INSTRRetourneert de positie van de eerste keer dat een tekenreeks in een andere voorkomt.
LCASEZet een string om in kleine letters.
LINKSStart vanaf de linkerkant het gegeven aantal tekens uit een tekenreeks en retourneer ze als een andere.
LENGTERetourneert de lengte van een tekenreeks, maar in bytes.
BEVIND ZICHRetourneert het eerste voorkomen van één tekenreeks binnen een andere,
LAGERHetzelfde als LCASE.
LPADLinker pads één snaar met een andere, tot een bepaalde lengte.
LTRIMVerwijder alle voorloopspaties uit de gegeven string.
MIDHaalt de ene string uit de andere, beginnend vanaf elke positie.
POSITIERetourneert de positie van de eerste keer dat een substring binnen een andere verschijnt.
HERHALINGHiermee kunt u een string herhalen
VERVANGENHiermee kunt u alle instanties van een substring binnen een string vervangen door een nieuwe substring.
OMGEKEERDEKeert de string om.
RECHTSAFStart vanaf rechts het gegeven aantal tekens uit een tekenreeks en retourneer ze als een andere.
RPADRechter pads één snaar met een andere, tot een bepaalde lengte.
RTRIMVerwijdert alle volgspaties uit de gegeven string.
RUIMTERetourneert een tekenreeks vol spaties die gelijk is aan het aantal dat u doorgeeft.
STRCMPVergelijkt 2 strings voor verschillen
SUBSTRHaalt een substring uit een andere, beginnend vanaf elke positie.
ONDERGRONDHetzelfde als SUBSTR
SUBSTRING_INDEXRetourneert een substring van een tekenreeks voordat de doorgegeven substring wordt gevonden, het aantal keren is gelijk aan het doorgegeven getal.
TRIMVerwijdert volg- en voorloopspaties uit de gegeven string. Hetzelfde alsof u LTRIM en RTRIM samen zou uitvoeren.
UCASEZet een string om in hoofdletters.
BOVENSTEHetzelfde als UCASE.

Numerieke functies

Numerieke functies
NaamOmschrijving
buikspierenRetourneert de absolute waarde van het opgegeven getal.
ACOSGeeft de boog cosinus van het gegeven getal terug.
ALS INRetourneert de boogsinus van het opgegeven getal.
EEN KLEURTJEBerekent de boogtangens van een of twee gegeven getallen.
ATAN2Retourneer de boogtangens van 2 gegeven getallen.
AVGRetourneert de gemiddelde waarde van de gegeven uitdrukking.
CEILGeeft als resultaat het dichtstbijzijnde gehele getal (geheel getal) naar boven vanaf een bepaald decimaalgetal.
PLAFONDHetzelfde als CEIL.
COSGeeft als resultaat de cosinus van een bepaald getal.
KINDERBEDGeeft als resultaat de cotangens van een bepaald getal.
COUNTRetourneert het aantal records dat wordt geretourneerd door een SELECT-query.
GRADENConverteert een radialenwaarde naar graden.
DIVHiermee kunt u gehele getallen delen.
EXPGeeft e terug tot de macht van het gegeven getal.
VERDIEPINGGeeft als resultaat het dichtstbijzijnde gehele getal (geheel getal) naar beneden vanaf een bepaald decimaalgetal.
BESTERetourneert de hoogste waarde in een lijst met argumenten.
MINSTRetourneert de kleinste waarde in een lijst met argumenten.
LNGeeft als resultaat de natuurlijke logaritme van het opgegeven getal
LOGGeeft de natuurlijke logaritme van het gegeven getal terug, of de logaritme van het gegeven getal op de gegeven basis
LOG10Doet hetzelfde als LOG, maar dan op basis van 10.
LOG2Doet hetzelfde als LOG, maar dan op basis 2.
MAXRetourneert de hoogste waarde uit een reeks waarden.
MINRetourneert de laagste waarde uit een set waarden.
MODGeeft als resultaat de rest van het opgegeven getal gedeeld door het andere opgegeven getal.
PIRetourneert PI.
POWRetourneert de waarde van het opgegeven getal tot de macht van het andere gegeven getal.
KRACHTHetzelfde als krijgsgevangene.
RADIANSZet een gradenwaarde om in radialen.
RANDRetourneert een willekeurig getal.
RONDERond het opgegeven getal af op het opgegeven aantal decimalen.
TEKENRetourneert het teken van het opgegeven nummer.
ZONDERetourneert de sinus van het opgegeven getal.
WORTELRetourneert de vierkantswortel van het opgegeven getal.
SOMRetourneert de waarde van de gegeven set waarden gecombineerd.
BRUINENRetourneert de tangens van het opgegeven getal.
TRUNCATEGeeft een getal terug dat is afgekapt tot het opgegeven aantal decimalen.

Datumfuncties

Datumfuncties
NaamOmschrijving
TOEVOEGENVoeg een datuminterval (bijv. 10 DAG) toe aan een datum (bijv.: 20/01/20) en retourneer het resultaat (bijv.: 20/01/30).
VOEG TIJD TOEVoeg een tijdsinterval (bijvoorbeeld: 02:00) toe aan een tijd of datetime (05:00) en retourneer het resultaat (07:00).
CURDATEVerkrijg de huidige datum.
HUIDIGE DATUMHetzelfde als CURDATE.
HUIDIGE TIJDVerkrijg de huidige tijd.
CURRENT_TIMESTAMPVerkrijg de huidige datum en tijd.
CURTIMEHetzelfde als CURRENT_TIME.
DATUMHaalt de datum uit een datetime-expressie.
DATEDIFFRetourneert het aantal dagen tussen de twee opgegeven datums.
DATE_ADDHetzelfde als ADDDATE.
DATUMNOTATIEMaakt de datum op volgens het opgegeven patroon.
DATE_SUBTrek een datuminterval (bijv. 10 DAG) af van een datum (bijv.: 20/01/20) en retourneer het resultaat (bijv.: 20/01/10).
DAGRetourneert de dag voor de opgegeven datum.
DAGNAAMRetourneert de naam van de weekdag voor de opgegeven datum.
DAG VAN DE WEEKRetourneert de index voor de weekdag voor de opgegeven datum.
DAYOFYEARRetourneert de dag van het jaar voor de opgegeven datum.
EXTRACTHaal uit de datum van het gegeven deel (bv. MAAND voor 20/01/20 = 01).
VAN DAGENRetourneer de datum van de opgegeven numerieke datumwaarde.
UURRetourneer het uur vanaf de opgegeven datum.
LAATSTE DAGOntvang de laatste dag van de maand voor de opgegeven datum.
LOKALE TIJDHaalt de huidige lokale datum en tijd op.
LOCALTIMESTAMPHetzelfde als LOCALTIME.
MAKEDATEMaakt een datum en retourneert deze op basis van de opgegeven waarden voor jaar en aantal dagen.
MAAK TIJDMaakt een tijd en retourneert deze op basis van de opgegeven waarden voor uur, minuut en seconde.
MICROSECONDERetourneert de microseconde van een bepaalde tijd of datetime.
MINUUTRetourneert de minuut van de opgegeven tijd of datetime.
MAANDRetourneert de maand van de opgegeven datum.
MONTHNAMERetourneert de naam van de maand van de opgegeven datum.
NUHetzelfde als LOCALTIME.
PERIOD_ADDTelt het opgegeven aantal maanden op bij de opgegeven periode.
PERIOD_DIFFGeeft als resultaat het verschil tussen 2 opgegeven perioden.
KWARTAALRetourneert het jaarkwartaal voor de opgegeven datum.
TWEEDERetourneert de seconde van een bepaalde tijd of datetime.
SEC_TO_TIMERetourneert een tijd op basis van de opgegeven seconden.
STR_TO_DATEMaakt een datum en retourneert deze op basis van de opgegeven tekenreeks en indeling.
SUBDATEHetzelfde als DATE_SUB.
SUBTIJDTrekt een tijdsinterval (bijvoorbeeld: 02:00) af op een tijd of datetime (05:00) en retourneert het resultaat (03:00).
SYSDATEHetzelfde als LOCALTIME.
TIJDRetourneert de tijd van een bepaalde tijd of datetime.
TIJD FORMAATRetourneert de opgegeven tijd in het opgegeven formaat.
TIME_TO_SECConverteert en retourneert een tijd in seconden.
TIMEDIFFRetourneert het verschil tussen 2 gegeven tijd / datetime-expressies.
TijdstempelRetourneert de datetime-waarde van de opgegeven datum of datetime.
TO_DAYSRetourneert het totale aantal dagen dat is verstreken van ‘00 -00-0000 ’tot de opgegeven datum.
WEEKRetourneert het weeknummer voor de opgegeven datum.
WEEKDAGRetourneert het weekdagnummer voor de opgegeven datum.
WEEKOFYEARRetourneert het weeknummer voor de opgegeven datum.
JAARRetourneert het jaar vanaf de opgegeven datum.
JAARWEEKRetourneert het jaar- en weeknummer voor de opgegeven datum.

Diverse functies

Diverse functies
NaamOmschrijving
BINRetourneert het opgegeven getal in binair.
BINAIRRetourneert de opgegeven waarde als een binaire tekenreeks.
GIPSConverteer het ene type naar het andere.
COALESCERetourneer uit een lijst met waarden de eerste niet-nulwaarde.
CONNECTION_IDRetourneer voor de huidige verbinding de unieke verbindings-ID.
CONVConverteer het gegeven nummer van het ene numerieke basissysteem naar het andere.
CONVERTERENZet de gegeven waarde om in het gegeven gegevenstype of tekenset.
HUIDIGE GEBRUIKERRetourneer de gebruiker en hostnaam die zijn gebruikt om te verifiëren bij de server.
DATABANKHaal de naam van de huidige database op.
GROEP DOORWordt gebruikt naast verzamelfuncties (COUNT, MAX, MIN, SUM, AVG) om de resultaten te groeperen.

Voorbeeld: Geeft het aantal gebruikers weer met actieve bestellingen.

SELECT COUNT (user_id), active_orders
VAN gebruikers
GROEP DOOR active_orders;
HEBBENHet wordt gebruikt in plaats van WHERE met verzamelfuncties.

Voorbeeld: Geeft het aantal gebruikers met actieve bestellingen weer, maar omvat alleen gebruikers met meer dan 3 actieve bestellingen.

SELECT COUNT (user_id), active_orders
VAN gebruikers
GROEPEN op active_orders
MET AANTAL (user_id)> 3;
ALSAls de voorwaarde waar is, retourneert u een waarde, anders retourneert u een andere waarde.
IFNULLAls de gegeven uitdrukking gelijk is aan null, retourneer dan de gegeven waarde.
IS NIETSAls de expressie null is, retourneer 1, anders 0.
LAST_INSERT_IDVoor de laatste rij die is toegevoegd of bijgewerkt in een tabel, retourneert u de automatische toename-ID.
NULLIFVergelijkt de 2 gegeven uitdrukkingen. Als ze gelijk zijn, wordt NULL geretourneerd, anders wordt de eerste expressie geretourneerd.
SESSION_USERRetourneer de huidige gebruiker en hostnamen.
SYSTEM_USERHetzelfde als SESSION_USER.
GEBRUIKERHetzelfde als SESSION_USER.
VERSIERetourneert de huidige versie van de MySQL die de database aandrijft.

Jokertekens

In SQL zijn jokertekens speciale tekens die worden gebruikt met de LIKE- en NOT LIKE-trefwoorden waarmee we veel efficiënter kunnen zoeken naar gegevens met geavanceerde patronen

Wildcards
NaamOmschrijving
%Komt overeen met nul of meer tekens.

Voorbeeld 1: Zoek alle gebruikers met achternamen die eindigen op ‘zoon’.

SELECT * VAN gebruikers
WAAR achternaam ALS '% zoon';

Voorbeeld 2: Vind alle gebruikers die in steden wonen met het patroon ‘che’

SELECT * VAN gebruikers
WAAR stad ALS '% che%';
_Komt overeen met een enkel teken.

Voorbeeld: Vind alle gebruikers die in steden wonen, beginnend met 3 tekens, gevolgd door 'chester'.

SELECT * VAN gebruikers
WAAR stad ALS '___chester';
[charlist]Komt overeen met een willekeurig teken in de lijst.

Voorbeeld 1: Zoek alle gebruikers met voornamen beginnend met J, H of M.

SELECT * VAN gebruikers
WAAR voornaam VOORNAAM '[jhm]%';

Voorbeeld 2: Zoek alle gebruikers met voornamen die beginnen met letters tussen A - L.

SELECT * VAN gebruikers
WAAR voornaam VOORNAAM '[a-l]%';

Voorbeeld 3: Zoek alle gebruikers met voornamen die niet eindigen op letters tussen n - s.

SELECT * VAN gebruikers
WAAR voornaam VOORNAAM '% [! N-s]';

Sleutels

In relationele databases is er een concept van primaire en externe sleutels. In SQL-tabellen worden deze opgenomen als beperkingen, waarbij een tabel een primaire sleutel, een externe sleutel of beide kan hebben.

Hoofdsleutel

Met een primaire sleutel kan elk record in een tabel op unieke wijze worden geïdentificeerd. Er kan slechts één primaire sleutel per tabel zijn en u kunt deze beperking toewijzen aan een enkele of combinatie van kolommen. Dit betekent echter dat elke waarde in deze kolom (men) uniek moet zijn.

Meestal is de primaire sleutel in een tabel een ID-kolom en wordt deze meestal gecombineerd met het trefwoord AUTO_INCREMENT. Dit betekent dat de waarde automatisch toeneemt als er nieuwe records worden aangemaakt.

Voorbeeld 1 (MySQL)

Maak een nieuwe tabel en stel de primaire sleutel in op de ID-kolom.

CREËER TABEL gebruikers (
id int NIET NULL AUTO_INCREMENT,
voornaam varchar (255),
achternaam varchar (255) NIET NULL,
adres varchar (255),
e-mail varchar (255),
PRIMAIRE SLEUTEL (id)
);

Voorbeeld 2 (MySQL)

Wijzig een bestaande tabel en stel de primaire sleutel in op de kolom voornaam.

ALTER TABEL gebruikers
PRIMAIRE SLEUTEL TOEVOEGEN (voornaam);

Vreemde sleutel

Een externe sleutel kan op één of meerdere kolommen worden toegepast en wordt gebruikt om 2 tabellen aan elkaar te koppelen in een relationele database.

Zoals te zien is in het onderstaande diagram, wordt de tabel met de externe sleutel de kindersleutel genoemd, terwijl de tabel met de referentiesleutel of de kandidaatsleutel de bovenliggende tabel wordt genoemd.

MySQL-sleutels

Dit betekent in wezen dat de kolomgegevens worden gedeeld tussen 2 tabellen, aangezien een externe sleutel ook voorkomt dat ongeldige gegevens worden ingevoegd die niet ook aanwezig zijn in de bovenliggende tabel.

Voorbeeld 1 (MySQL)

Maak een nieuwe tabel en verander alle kolommen die naar ID's in andere tabellen verwijzen in externe sleutels.

MAAK TABEL bestellingen (
id int NIET NULL,
user_id int,
product_id int,
PRIMAIRE SLEUTEL (id),
BUITENLANDSE SLEUTEL (user_id) REFERENTIES gebruikers (id),
BUITENLANDSE SLEUTEL (product_ID) REFERENTIES products (id)
);

Voorbeeld 2 (MySQL)

Wijzig een bestaande tabel en maak een refererende sleutel.

ALTER TABEL bestellingen
VOEG BUITENLANDSE SLEUTEL TOE (user_id) REFERENTIES gebruikers (id);

Indexen

Indexen zijn attributen die kunnen worden toegewezen aan kolommen waarnaar vaak wordt gezocht om het ophalen van gegevens een sneller en efficiënter proces te maken.

Dit betekent echter niet dat van elke kolom een ​​index moet worden gemaakt, omdat het langer duurt voordat een kolom met een index wordt bijgewerkt dan een kolom zonder. Dit komt omdat wanneer geïndexeerde kolommen worden bijgewerkt, de index zelf ook moet worden bijgewerkt.

Indexen
NaamOmschrijving
MAAK INDEXMaakt een index met de naam ‘idx_test’ in de kolommen voor- en achternaam van de gebruikerstabel. In dit geval zijn dubbele waarden toegestaan.

MAAK INDEX idx_test
AAN gebruikers (voornaam, achternaam);
MAAK UNIEKE INDEXHetzelfde als het bovenstaande, maar geen dubbele waarden.

MAAK UNIEKE INDEX idx_test
AAN gebruikers (voornaam, achternaam);
DROP INDEXVerwijdert een index.

ALTER TABEL gebruikers
DROP INDEX idx_test;

Doet mee

In SQL wordt een JOIN-clausule gebruikt om een ​​resultatenset te retourneren die gegevens uit meerdere tabellen combineert, op basis van een gemeenschappelijke kolom die in beide voorkomt

U kunt een aantal verschillende joins gebruiken:-

  • Inner Join (standaard): Retourneert alle records met overeenkomende waarden in beide tabellen.
  • Links samenvoegen: Retourneert alle records uit de eerste tabel, samen met alle overeenkomende records uit de tweede tabel.
  • Right Join: Retourneert alle records uit de tweede tabel, samen met alle overeenkomende records uit de eerste.
  • Volledige deelname: Retourneert alle records van beide tabellen als er een overeenkomst is.

Een gebruikelijke manier om te visualiseren hoe joins werken, is als volgt:

MySQL sluit zich aan

In het volgende voorbeeld wordt een inner join gebruikt om een ​​nieuwe verenigende weergave te creëren die de ordertabel en vervolgens 3 verschillende tafels combineert

We vervangen de user_id en product_id door de kolommen voor- en achternaam van de gebruiker die de bestelling heeft geplaatst, samen met de naam van het item dat is gekocht.

MySQL-voorbeeldtabel

SELECTEER orders.id, gebruikers.voornaam, gebruikers.achternaam, producten.naam als 'productnaam'
VAN bestellingen
BINNENKOM bij gebruikers op orders.user_id = gebruikers.id
BINNEN WORDEN lid van producten op orders.product_id = products.id;

Zou een resultatenset retourneren die er als volgt uitziet:

MySQL-voorbeeldtabel

Visie

Een weergave is in wezen een SQL-resultatenset die onder een label in de database wordt opgeslagen, zodat u er later naar kunt terugkeren zonder dat u de query opnieuw hoeft uit te voeren. Deze zijn vooral handig wanneer u een dure SQL-query hebt die een aantal keer nodig kan zijn, dus in plaats van deze steeds opnieuw uit te voeren om dezelfde resultatenset te genereren, kunt u het maar één keer doen en opslaan als weergave.

Weergaven maken

Om een ​​weergave te maken, kunt u dit als volgt doen:

MAAK VIEW priority_users AS
SELECT * VAN gebruikers
WAAR country = 'Verenigd Koninkrijk';

Als u in de toekomst toegang wilt tot de opgeslagen resultaatset, kunt u dit als volgt doen:

SELECT * VAN [prioriteit_gebruikers];

Weergaven vervangen

Met de opdracht CREATE OR REPLACE kan een weergave worden bijgewerkt.

MAAK OF VERVANG VIEW [priority_users] AS
SELECT * VAN gebruikers
WAAR country = 'Verenigd Koninkrijk' OF country = 'USA';

Weergaven verwijderen

Gebruik de opdracht DROP VIEW om een ​​weergave te verwijderen.

DROP VIEW priority_users;

Conclusie

De meeste websites op het web van vandaag gebruiken op een of andere manier relationele databases. Dit maakt SQL een waardevolle taal om te kennen, omdat u hiermee complexere, functionele websites en systemen kunt maken.

Zorg ervoor dat u deze pagina een bladwijzer maakt, dus als u in de toekomst met SQL werkt en u een bepaalde operator niet helemaal kunt herinneren, hoe u een bepaalde query moet schrijven of als u gewoon niet zeker weet hoe joins werken, dan heeft u een spiekbriefje bij de hand dat klaar, bereid en in staat is om te helpen.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me