basics mysql foreign key constraint with examples
Ta vadnica s primeri razlaga osnove MySQL FOREIGN KEY Constraint, kot je sintaksa, kako jo dodati, prijaviti, spustiti in spremeniti:
Z zelo enostavnimi izrazi se FOREIGN KEY uporablja za povezovanje dveh ali več tabel v MySQL.
Tabele MySQL morajo biti povezane, da lahko poizvedujejo in posodabljajo različne vrste podatkov v različnih časovnih obdobjih. Zato je nujno imeti povezovalno točko med dvema tabelama.
V tej vadnici bomo razpravljali o različnih navadah tujih ključev in o tem, kako jih lahko prijavimo in spremenimo ter kakšne omejitve ima na splošno strukturo tabel.
Kaj se boste naučili:
TUJI KLJUČ MySQL
Sintaksa:
CONSTRAINT {constraintName} FOREIGN KEY (referringColumnName) REFERENCES {referredTable}({referredColumn}) ON UPDATE {reference-option} ON DELETE {reference-option}
Zgoraj je sintaksa, uporabljena pri podajanju FOREIGN KEY za tabelo med ustvarjanjem tabele ali z Stavek ALTER TABLE.
Razumejmo različne sestavine skladnje:
- constrantName: To je simbolično ime, ki ga želimo določiti za določeno omejitev FK. Če je to preskočeno, motor MySQL samodejno dodeli ime omejitvi FK.
- referringColumnName: To je stolpec, ki bi se skliceval na vrednosti v drugi tabeli, kot jih določa stolpec v navedeni tabeli.
- Priporočena tabela / nadrejena tabela: To se nanaša na ime tabele, iz katere bi bile napotene vrednosti.
- Navedeni stolpec: Ime stolpca v navedeni tabeli.
- Referenčna možnost: To so dejanja, ki se pojavijo na sliki, ko je v tabeli, ki vsebuje omejitev tujega ključa, izvedeno dejanje posodabljanja ali brisanja. Tako UPDATE kot DELETE imata lahko enake ali različne referenčne možnosti.
O različnih dejanjih referenčne integritete bomo izvedeli kasneje v tej vadnici.
Oglejmo si primer sklica TUJI KLJUČ na primeru zaposlenega / oddelka. Ustvarili bomo tabelo Oddelek s stolpci - departmentId (int & PRIMARY KEY) in departmentName (varchar).
CREATE TABLE department(departmentId INT PRIMARY KEY NOT NULL, departmentName VARCHAR(100));
Ustvari tabelo Zaposleni s stolpci, kot je prikazano spodaj:
Stolpec | Tip |
---|---|
id | INT (primarni ključ) |
ime | VARCHAR |
dept_id | INT (tuji ključ), naveden v tabeli oddelkov |
naslov | VARCHAR |
starost | INT |
dob | DATUM |
CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT, CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON UPDATE CASCADE ON DELETE CASCADE);
Kot lahko vidite, smo v zgornji tabeli zaposlenih razglasili stolpec deptId tipa Int in iz tabele oddelkov v stolpcu departmentId definirali TUJI KLJUČ.
Kaj to v bistvu pomeni, da lahko stolpec deptId v tabeli Employee vsebuje samo vrednosti, ki so v tabeli Department.
Poskusimo vstaviti podatke v te tabele in si oglejte, kako deluje ZUNAJ KLJUČNA OMEJITEV.
- Najprej ustvarite zapis v tabeli oddelka in v tabelo Employee dodajte zapis, ki se sklicuje na ID zapisa, ki je bil dodan v tabelo oddelka.
INSERT INTO department VALUES (1, 'ENGINEERING') --------- INSERT INTO EMPLOYEE VALUES (1, 'AMIT KUMAR', 'MUMBAI', 32, '1988-02-12',1);
Videli boste, da bi se oba stavka izvedla brez napak.
- Zdaj se sklicujte na vrednost za departmentId, ki ne obstaja.
Na primer, v spodnji izjavi o poizvedbi ustvarjamo zaposlenega z neobstoječim oddelkom id -10
INSERT INTO EMPLOYEE VALUES (1, 'DARREN JOHNSON', 'CHICAGO', 32, '1988-02-12',10);
- V tem primeru bomo dobili napako, kot je spodaj:
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`my_sql_foreign_key`.`employee`, CONSTRAINT `depIdFk` FOREIGN KEY (`deptId`) REFERENCES `department` (`departmentId`) ON DELETE CASCADE ON UPDATE CASCADE)
Torej, na splošno je pri opredelitvi referenc TUJI KLJUČ pomembno zagotoviti, da mora imeti tabela, na katero se sklicuje, podatke, preden je napotena.
Referenčna dejanja integritete
Najprej poskusimo razumeti, kaj pravzaprav je referenčna integriteta.
Referenčna integriteta pomaga ohranjati podatke v čistem in doslednem stanju, kjer obstajajo medsebojno povezane tabele z razmerjem TUJI KLJUČ.
Preprosto povedano, referenčna integriteta se nanaša na dejanje, ki ga pričakujemo od mehanizma baze podatkov, ko se v referenčni tabeli, ki vsebuje TUJI KLJUČ, zgodi posodobitev ali izbris.
Na primer, v našem primeru zaposlenega / oddelka predpostavimo, da spremenimo ID oddelka za določeno vrstico v DB. Potem bi to vplivalo na vse referenčne vrstice v tabeli Employee. Določimo lahko različne vrste scenarijev referenčne integritete, ki bi jih lahko uporabili v takih primerih.
najboljši računalniški vdiranje programske opreme na svetu brezplačno prenesete
Opomba: Referenčna integriteta je definirana med nastavitvijo / izjavo FOREIGN KEY kot del ukazov / odsekov ON DELETE in ON UPDATE.
Glejte vzorčno poizvedbo tukaj (za primer zaposlenega / oddelka):
CREATE TABLE department(departmentId INT PRIMARY KEY NOT NULL, departmentName VARCHAR(100)); CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT, CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON UPDATE {ref-integrity-action} ON DELETE {ref integrity action});
V te tabele vstavite nekaj podatkov, kot spodaj:
INSERT INTO department VALUES (1, 'ENGINEERING'), (2,'ACCOUNTING'), (3, 'MARKETING'), (4, 'HR'), (5, 'LEGAL'); INSERT INTO EMPLOYEE VALUES (1, 'AMIT KUMAR', 'MUMBAI', 32,'1988-02-12',1), (2, 'RYAN HILMAN', 'SEATTLE',43, '1977-03-15',1), (3, 'KAVITA SINGH', 'DELHI', 42, '1978-02-18',4), (4, 'DAVID BECKHAM', 'LONDON', 40, '1980-07-13',3), (5, 'PRITI KUMARI', 'DELHI', 35, '1985-12-11',2), (6, 'FRANK BALDING', 'NEW YORK', 35, '1985-08-25',5)
MySQL podpira 4 referenčne akcije. Poskusimo razumeti vsakega od njih.
# 1) KASKADA
To je eno najpogosteje uporabljenih referenčnih dejanj integritete. Če nastavite DELETE in UPDATE na CASCADE, bi spremembe, uporabljene v referenčni tabeli referenčne tabele, tj. V primeru zaposlenega / oddelka. Recimo, da nekdo izbriše vrstico v tabeli oddelka, ki bi morala reči ime_oddelka = RAČUNOVODSTVO, potem bi bile izbrisane tudi vse vrstice v tabeli zaposlenih, ki ima oddelek_id kot tabela računovodstva.
Razumimo to na primeru:
SELECT * FROM employee;
id | ime | naslov | starost | dob | deptId |
---|---|---|---|---|---|
1. | AMIT KUMAR | MUMBAI | 32 | 1988-02-12 | 1. |
dva | RYAN HILMAN | SEDEŽ | 43 | 1977-03-15 | 1. |
3. | KAVITA SINGH | DELHI | 42 | 1978-02-18 | 4. |
4. | DAVID BECKHAM | LONDON | 40 | 1980-07-13 | 3. |
5. | PRITI KUMARI | DELHI | 35 | 1985-12-11 | dva |
6. | FRANK BALDING | NEW YORK | 35 | 1985-08-25 | 5. |
Izbriši zapis iz tabele oddelka, kjer je departmentName = 'RAČUNOVODSTVO'
DELETE from DEPARTMENT WHERE departmentName='ACCOUNTING';
Ker gre zdaj za CASCADE referenčno dejanje, bi pričakovali, da bi morali izbrisati tudi vse vrstice z oddelkomID = 2 (kar je za oddelek 'RAČUNOVODSTVO'). Ponovno izvedimo poizvedbo SELECT na tabeli Employee.
SELECT * FROM employee;
id | ime | naslov | starost | dob | deptId |
---|---|---|---|---|---|
1. | AMIT KUMAR | MUMBAI | 32 | 1988-02-12 | 1. |
dva | RYAN HILMAN | SEDEŽ | 43 | 1977-03-15 | 1. |
3. | KAVITA SINGH | DELHI | 42 | 1978-02-18 | 4. |
4. | DAVID BECKHAM | LONDON | 40 | 1980-07-13 | 3. |
6. | FRANK BALDING | NEW YORK | 35 | 1985-08-25 | 5. |
Kot lahko vidite zgoraj, bodo zaradi referenčne integritete CASCADE te vrstice izbrisane v vrsticah v tabeli Employee, ki so izbrisani stolpec označile kot TUJI KLJUČ.
# 2) OMEJITEV / BREZ UKREPANJA
Način RESTRICT ali NO ACTION ne bo omogočil nobenih operacij UPDATE ali DELETE v tabeli s stolpci, ki se v neki tabeli sklicujejo na FOREIGN KEY.
Način NO ACTION lahko uporabite tako, da v deklaraciji tabele preprosto izpustite klavzuli ON UPDATE in ON DELETE.
Poskusimo z istim primerom in v tem primeru preprosto preskočite akcijo ON UPDATE in ON DELETE Referencial integriteto.
Zdaj, ko poskušamo izbrisati kateri koli vnos v referenčni tabeli, bi dobili napako, saj smo referenčno dejanje nastavili na RESTRICT
DELETE FROM department WHERE departmentName='ACCOUNTING';
Če poskusite izvršiti zgornji ukaz DELETE, boste videli napako, podobno kot spodaj.
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`my_sql_foreign_key`.`employee`, CONSTRAINT `depIdFk` FOREIGN KEY (`deptId`) REFERENCES `department` (`departmentId`))
# 3) NASTAVI NULL
Z nastavitvijo SET NULL bi vsako UPDATE ali DELETE v referenčni tabeli povzročilo posodobitev vrednosti NULL glede na vrednost stolpca, ki je v referenčni tabeli označena kot FOREIGN KEY.
S tem referenčnim dejanjem integritete bi definicija tabele Employee postala, kot je prikazano spodaj:
CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT, CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON DELETE SET NULL);
Izbrišite vrstico v referenčni tabeli, kot je prikazano spodaj:
DELETE FROM department WHERE departmentName='ACCOUNTING';
Zdaj bi bila v tem primeru referenčna vrednost v tabeli Employee nastavljena na NULL. Za ogled rezultatov izvedite poizvedbo SELECT v tabeli Employee.
kako ročno preizkusiti spletne storitve
SELECT * FROM employee;
id | ime | naslov | starost | dob | deptId |
---|---|---|---|---|---|
1. | AMIT KUMAR | MUMBAI | 32 | 1988-02-12 | 1. |
dva | RYAN HILMAN | SEDEŽ | 43 | 1977-03-15 | 1. |
3. | KAVITA SINGH | DELHI | 42 | 1978-02-18 | 4. |
4. | DAVID BECKHAM | LONDON | 40 | 1980-07-13 | 3. |
5. | PRITI KUMARI | DELHI | 35 | 1985-12-11 | NIČ |
6. | FRANK BALDING | NEW YORK | 35 | 1985-08-25 | 5. |
# 4) NAST
Način SET DEFAULT, če je podan, bi privedel do nadomestitve privzete vrednosti stolpca (kot je določeno med deklaracijo stolpca), v primeru kakršnih koli DELETES v referenčni tabeli.
Opomba - Glede na MySQL dokumentacija možnost SET DEFAULT podpira MySQL Parser, ne pa tudi mehanizmov DB, kot je InnoDB. To bo morda podprto v prihodnosti.
Če želite podpreti takšno vedenje, lahko razmislite o uporabi SET NULL in v tabeli definirate sprožilec, ki lahko nastavi privzeto vrednost.
Dodajte omejitev FOREIGN KEY z uporabo izjave ALTER TABLE
Velikokrat se lahko zgodi, da bomo morda želeli obstoječi tabeli dodati omejitev FOREIGN KEY, ki je nima.
Denimo, da smo v primeru zaposlenega in oddelka ustvarili tabelo zaposlenih brez kakršne koli omejitve FOREIGN KEY in kasneje želimo uvesti omejitev. To lahko dosežete z ukazom ALTER TABLE.
Poskusimo to razumeti s primerom.
Recimo, da imamo tabelo Employee s spodnjo definicijo za ukaz CREATE.
CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT);
Tu imamo stolpec deptId, vendar brez omejitve TUJI KLJUČ. V tem primeru lahko tudi brez vstavljanja tabele oddelkov določimo katere koli vrednosti med vstavljanjem zapisov.
Recimo kasneje, da imamo ločeno tabelo oddelka in želimo tam oddelek IdId povezati kot TUJI KLJUČ s tabelo zaposlenih.
ALTER TABLE employee ADD CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON UPDATE CASCADE ON DELETE CASCADE;
Kaj, če ima tabela obstoječe podatke? Ali lahko ALTER tabelo in dodamo omejitev FOREIGN KEY?
Odgovor je pritrdilen - lahko s pogojem, da bi morale obstoječe vrednosti v stolpcu, na katere se sklicuje druga tabela, imeti tiste vrednosti, ki obstajajo v sami nadrejeni tabeli.
Ustvarite tabelo zaposlenih brez omejitve FOREIGN KEY, dodajte nekaj podatkov in poskusite dodati omejitev FOREIGN KEY z ukazom ALTER.
CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT);
INSERT INTO EMPLOYEE VALUES (1, 'DARREN JOHNSON', 'CHICAGO', 32, '1988-02-12',1); INSERT INTO EMPLOYEE VALUES (2, 'ANITA SHERWIN', 'COLUMBIA', 32, '1988-02-12',10);
Ustvarite tabelo oddelkov in dodajte TUJI KLJUČ v polje ‘deptId’ v tabeli zaposlenih, kot je prikazano spodaj:
CREATE TABLE department(departmentId INT PRIMARY KEY NOT NULL DEFAULT 1000, departmentName VARCHAR(100));
Na tej točki, če poskusimo dodati omejitev FOREIGN KEY,
ALTER TABLE employee ADD CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON UPDATE CASCADE ON DELETE CASCADE;
Nato bomo dobili napako, saj tabela Employee vsebuje nekaj podatkov, vendar referenčne omejitve integritete ni mogoče izpolniti, saj tabela oddelka še nima podatkov.
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`my_sql_foreign_key`.`#sql-63_87`, CONSTRAINT `depIdFk` FOREIGN KEY (`deptId`) REFERENCES `department` (`departmentId`) ON DELETE CASCADE ON UPDATE CASCADE)
Da bi imeli omejitev FOREIGN KEY, bomo morali najprej dodati podatke v tabelo oddelka. V tabelo oddelkov vstavimo zahtevane zapise.
INSERT INTO department VALUES (1, 'ENGINEERING'),(10,'ACCOUNTING');
Znova dodajte omejitev FOREIGN KEY, tako da izvedete isti stavek ALTER TABLE. Opazili boste, da je tokrat ukaz uspel in tabela Employee je uspešno posodobljena, da se je iz tabele Department oddal kot TUJI KLJUČ.
Spuščanje omejitve TUJEGA KLJUČA
Podobno kot pri dodajanju omejitve FOREIGN KEY lahko tudi iz tabele spustite / izbrišete obstoječo omejitev FOREIGN KEY.
To lahko dosežemo z ukazom ALTER TABLE.
Sintaksa:
ALTER TABLE {childTable} DROP FOREIGN KEY {foreign key constraint name};
Tu je ‘childTable’ ime tabele, ki ima definirano omejitev FOREIGN KEY, medtem ko je ‘ime omejitve tujega ključa’ ime / simbol, ki je bil uporabljen za določitev FOREIGN KEY.
Oglejmo si primer, ki uporablja tabelo Zaposleni / Oddelek. Če želite iz tabele Employee odstraniti omejitev z imenom 'depIdFk', uporabite spodnji ukaz:
ALTER TABLE employee DROP FOREIGN KEY depIdFk;
Pogosto zastavljena vprašanja
V # 1) Kako lahko v MySQL spremenim tuje ključe?
Odgovor: FOREGIN KEY lahko dodate / odstranite z ukazom ALTER TABLE.
Če želite spremeniti ali dodati nov FOREIGN KEY, lahko uporabite ukaz ALTER in definirate FOREIGN KEY in referenčni stolpec tabele, na katerega se sklicuje iz podrejene tabele.
V # 2) Kako nastaviti več tujih ključev v MySQL?
Odgovor: Tabela v MySQL ima lahko več TUJIH KLJUČEV, ki so lahko odvisni od iste nadrejene tabele ali različnih nadrejenih tabel.
Uporabimo tabelo Employee / Department in v tabelo Employee dodamo TUJI KLJUČ za ime oddelka ter DepartmentId.
Glejte stavke CREATE obeh tabel, kot spodaj
CREATE TABLE department(departmentId INT PRIMARY KEY NOT NULL DEFAULT 1000, departmentName VARCHAR(100) UNIQUE NOT NULL); ----xxxxx------xxxxx------xxxxx-------xxxxx------xxxxx CREATE TABLE employee(id INT PRIMARY KEY NOT NULL, name VARCHAR(100), address VARCHAR(100), age INT, dob DATE, deptId INT, depName VARCHAR(100), CONSTRAINT depIdFk FOREIGN KEY (deptId) REFERENCES department(departmentId) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT depNameFk FOREIGN KEY (depName) REFERENCES department(departmentName) ON UPDATE CASCADE ON DELETE CASCADE);
V # 3) Kako onemogočiti omejitve tujega ključa v MySQL?
Odgovor: Omejitve TUJIH KLJUČOV so običajno potrebne, kadar nekdo poskuša skrajšati obstoječo tabelo, na katero se sklicuje. Če želite to narediti, lahko uporabite spodnji ukaz:
SET FOREIGN_KEY_CHECKS=0;
S tem bi nastavili spremenljivko seje in začasno onemogočili FOREIGN_KEY_CHECKS. Po tej nastavitvi lahko nadaljujete in izvedete brisanje / obrezovanje, kar sicer ne bi bilo mogoče.
brezplačna aplikacija za prenos glasbe mp3 za android
Vendar se prepričajte, da je to skrbniški privilegij in ga je treba uporabljati premišljeno.
V # 4) Kako najdem reference tujih ključev za tabelo v MySQL?
Odgovor: Če želite našteti vse obstoječe omejitve FOREIGN KEY, lahko uporabite tabelo 'INNODB_FOREIGN_COLS' v 'INFORMATION_SCHEMA'.
Preprosto zaženite spodnji ukaz, da dobite vse izjave FOREIGN KEY, ki obstajajo za dani primerek strežnika MySQL.
ID | FOR_COL_NAME | REF_COL_NAME | POS |
---|---|---|---|
my_sql_foreign_key / depIdFk | deptId | oddelekId | 1. |
V # 5) Ali naj bo referenčni stolpec kot TUJI KLJUČ primarni ključ v referenčni tabeli?
Odgovor: Po definiciji TUJI KLJUČ bi bilo treba, da je stolpec, ki je naveden kot TUJI KLJUČ, PRIMARNI KLJUČ iz tabele, na katero se sklicuje.
Vendar pa se lahko pri novejših različicah MySQL in pri mehanizmu zbirke podatkov InnoDB sklicujete tudi na stolpec, ki ima FOREIGN KEY, ki ima UNIQUE omejitev in morda ni nujno PRIMARNI KLJUČ.
V # 6) Ali FOREIGN KEY ustvari INDEX v MySQL?
Odgovor: Tako za primarni ključ kot za Unique MySQL samodejno ustvari INDEX za take stolpce.
Ker že vemo, da se sklici FOREIGN KEY lahko uporabljajo samo za stolpce, ki so Primarni ključi, ali stolpce, ki imajo edinstvene vrednosti, zato imajo vsi stolpci, ki se imenujejo FOREIGN KEY, indeks, ustvarjen za njih.
Če si želite ogledati indeks v tabeli, uporabite spodnji ukaz:
SHOW INDEX from {dbName.tableName};
Torej, za primer zaposlenega / oddelka smo v tabelo oddelkov dodali deptId in Employee kot TUJI KLJUČ.
Oglejmo si ustvarjene indekse v tabelah zaposlenih in oddelkov.
USE my_sql_foreign_key; SHOW INDEX from employee;
Tabela | Non_unique | Ime ključa | Seq_in_index | Ime stolpca | Zbirka | Moč | Poddel | Pakirano | Nič | Vrsta_kaze |
---|---|---|---|---|---|---|---|---|---|---|
zaposleni | 0 | PRIMARNO | 1. | id | TO | 0 | NIČ | NIČ | BTREE | |
zaposleni | 1. | depIdFk | 1. | deptId | TO | 0 | NIČ | NIČ | DA | BTREE |
Ogledate si lahko dva indeksa - eden je primarni ključ za tabelo Zaposleni, drugi pa za ZUNAJ KLJUČ, ki je naveden iz tabele oddelkov.
SHOW INDEX from department;
Tabela | Non_unique | Ime ključa | Seq_in_index | Ime stolpca | Zbirka | Moč | Poddel | Pakirano | Nič | Vrsta_kaze |
---|---|---|---|---|---|---|---|---|---|---|
oddelek | 0 | PRIMARNO | 1. | oddelekId | TO | 0 | NIČ | NIČ | BTREE |
Tu lahko vidite, da imamo za tabelo oddelkov samo 1 indeks za primarni ključ (ki je v tabeli zaposlenih naveden kot TUJI KLJUČ).
V # 7) Ali je LAHKO TUJI KLJUČ NULL v MySQL?
Odgovor: Da, popolnoma je v redu, če imamo NULL za stolpec, ki je odvisen od tuje tipke, na drugi tabeli. To tudi aludira na dejstvo, da NULL ni resnična vrednost, zato se ne ujema / primerja z vrednostmi v nadrejeni tabeli.
Zaključek
V tej vadnici smo spoznali različne koncepte, povezane z uporabo TUJIH KLJUČOV v podatkovnih bazah MySQL.
FOREIGN KEY sprosti posodobitve in izbriše z ustreznimi omejitvami, včasih pa ima veliko takih odnosov celoten postopek vstavljanja in / ali brisanja precej okoren.
Naučili smo se, kako ustvariti TUJE KLJUČE in kako lahko nadomestimo in spustimo obstoječi TUJI KLJUČ iz podrejene tabele. Spoznali smo tudi različna dejanja referenčne integritete in kako lahko dosežemo različno vedenje z različnimi razpoložljivimi možnostmi, kot so KASKADA, BREZ AKCIJE, NASTAVI NULL itd.
Priporočeno branje
- MySQL Vodič za ustvarjanje tabel s primeri
- MySQL Vstavi v tabelo - Vstavi sintakso in primere izjave
- Vadnica za ustvarjanje pogleda MySQL s primeri kode
- Funkcije MySQL CONCAT in GROUP_CONCAT s primeri
- Vadnica za transakcije MySQL s primeri programiranja
- MySQL UNION - Izčrpna vadnica s primeri Unije
- Kako prenesti MySQL za Windows in Mac
- Razlika med SQL Vs MySQL Vs SQL Server (s primeri)