SQL

Învață MySQL: comenzi explicate cu exemple

309 comenzi 33 de categorii

MySQL este cel mai folosit sistem de baze de date pentru site-uri. WordPress, magazinele online și majoritatea aplicațiilor web își păstrează datele în tabele MySQL sau MariaDB, iar comenzile cu care citești și modifici aceste date se scriu în limbajul SQL.

Mai jos găsești comenzile MySQL grupate pe categorii. Apasă pe numele unei comenzi pentru explicația completă: ce face, ce parametri primește, exemple cu rezultatul lor și greșelile frecvente.

Exemplele își creează singure tabelele de care au nevoie, așa că le poți copia într-o bază de date de test (din phpMyAdmin, MySQL Workbench sau din linia de comandă). Rezultatele sunt afișate ca în clientul mysql din linia de comandă. Fiecare comandă SQL se termină cu punct și virgulă (;), iar cuvintele cheie se scriu de obicei cu majuscule, ca să se distingă de numele tabelelor și coloanelor.

Citirea datelor 6 comenzi

Condiții în WHERE 4 comenzi

Adăugare, modificare, ștergere 4 comenzi

Grupare și calcule 6 comenzi

Legarea tabelelor (JOIN) 3 comenzi

Baze de date și tabele 7 comenzi

Funcții 4 comenzi

Operatori 5 comenzi

Condiții și comparații 8 comenzi

Funcții pentru șiruri 18 comenzi

Căutare și comparare în text 7 comenzi

Expresii regulate 5 comenzi

Codare și conversii de text 9 comenzi

Funcții matematice 16 comenzi

Conversii de tip 2 comenzi

Data și ora curentă 4 comenzi

Calcule cu date 10 comenzi

Părțile unei date 16 comenzi

Formatare și conversie de date 11 comenzi

Funcții de agregare 8 comenzi

Funcții fereastră (OVER) 11 comenzi

JSON: creare și citire 11 comenzi

JSON: modificare 9 comenzi

JSON: căutare și validare 9 comenzi

Informații despre server și sesiune 19 comenzi

Criptare și hash 11 comenzi

Blocări cu nume 5 comenzi

UUID, IP și diverse 13 comenzi

XML și căutare full-text 3 comenzi

Date spațiale: creare și conversie 19 comenzi

Proprietăți geometrice 18 comenzi

Relații și distanțe spațiale 16 comenzi

Operații spațiale 12 comenzi

Toate funcțiile

Lista completă a funcțiilor și operatorilor incluși în MySQL, după manualul oficial. Cele cu link au o pagină dedicată, cu explicații și exemple rulate pe un server MySQL.

Șiruri de caractere și expresii regulate (60)

Funcție Ce face
ASCII() Codul numeric al primului octet din text.
BIN() Reprezentarea în baza 2 a unui număr, ca text.
BIT_LENGTH() Lungimea unui text în biți.
CHAR() Construiește un text din codurile numerice ale caracterelor.
CHARACTER_LENGTH() Sinonim pentru CHAR_LENGTH(): numărul de caractere.
CHAR_LENGTH() Numărul de caractere dintr-un text (nu de octeți).
CONCAT() Lipește mai multe texte într-unul singur.
CONCAT_WS() Lipește texte, punând un separator între ele.
ELT() Returnează elementul de pe poziția N dintr-o listă de argumente.
EXPORT_SET() Transformă biții unui număr într-un text, cu un cuvânt pentru 1 și altul pentru 0.
FIELD() Poziția unei valori într-o listă de argumente; util la sortări personalizate.
FIND_IN_SET() Poziția unui element într-un text cu valori separate prin virgulă.
FORMAT() Formatează un număr cu separator de mii și zecimale, opțional după limbă.
FROM_BASE64() Decodează un text Base64.
HEX() Reprezentarea hexazecimală a unui număr sau a unui text.
INSERT() (funcție șir) Înlocuiește o bucată de text de la o poziție dată cu alt text.
INSTR() Poziția primei apariții a unui subșir (0 dacă lipsește).
LCASE() Sinonim pentru LOWER(): litere mici.
LEFT() Primele N caractere dintr-un text.
LENGTH() Lungimea unui text în octeți.
LIKE Potrivire simplă cu tipare: % pentru orice text, _ pentru un caracter.
LOAD_FILE() Citește un fișier de pe serverul MySQL (necesită drepturi speciale).
LOCATE() Poziția primei apariții a unui subșir, opțional de la o poziție dată.
LOWER() Transformă textul în litere mici.
LPAD() Completează un text la stânga până la o lungime dată.
LTRIM() Elimină spațiile de la începutul textului.
MAKE_SET() Lista textelor corespunzătoare biților activi dintr-un număr.
MID() Sinonim pentru SUBSTRING(): extrage o bucată de text.
NOT LIKE Inversul lui LIKE: textul nu se potrivește cu tiparul.
NOT REGEXP Inversul lui REGEXP: textul nu se potrivește cu expresia regulată.
OCT() Reprezentarea în baza 8 a unui număr, ca text.
OCTET_LENGTH() Sinonim pentru LENGTH(): lungimea în octeți.
ORD() Codul numeric al primului caracter, inclusiv pentru caractere pe mai mulți octeți.
POSITION() Sinonim pentru LOCATE(), cu sintaxa POSITION(x IN text).
QUOTE() Pune textul între apostrofuri și îl escapează, gata de folosit în SQL.
REGEXP Verifică dacă un text se potrivește cu o expresie regulată.
REGEXP_INSTR() Poziția la care începe potrivirea cu o expresie regulată.
REGEXP_LIKE() Verifică potrivirea cu o expresie regulată, cu opțiuni (ex. majuscule).
REGEXP_REPLACE() Înlocuiește bucățile de text care se potrivesc cu o expresie regulată.
REGEXP_SUBSTR() Returnează bucata de text care se potrivește cu o expresie regulată.
REPEAT() Repetă un text de N ori.
REPLACE() Înlocuiește toate aparițiile unui text cu alt text.
REVERSE() Inversează ordinea caracterelor.
RIGHT() Ultimele N caractere dintr-un text.
RLIKE Sinonim pentru REGEXP.
RPAD() Completează un text la dreapta până la o lungime dată.
RTRIM() Elimină spațiile de la sfârșitul textului.
SOUNDEX() Cod fonetic al unui cuvânt, pentru nume care sună asemănător.
SOUNDS LIKE Compară două texte după SOUNDEX().
SPACE() Un text format din N spații.
STRCMP() Compară două texte și returnează -1, 0 sau 1.
SUBSTR() Sinonim pentru SUBSTRING(): extrage o bucată de text.
SUBSTRING() Extrage o bucată de text de la o poziție, cu o lungime dată.
SUBSTRING_INDEX() Textul dinaintea sau de după a N-a apariție a unui separator.
TO_BASE64() Codează un text în Base64.
TRIM() Elimină spațiile sau alte caractere de la ambele capete ale textului.
UCASE() Sinonim pentru UPPER(): litere mari.
UNHEX() Transformă un text hexazecimal înapoi în octeții originali.
UPPER() Transformă textul în litere mari, inclusiv diacriticele.
WEIGHT_STRING() Greutatea de sortare a unui text după colație (pentru depanare).

Numere, operatori, condiții și conversii (79)

Funcție Ce face
= (atribuire) Atribuie o valoare în SET și în UPDATE … SET.
- (unar) Schimbă semnul unui număr.
& ȘI pe biți între două numere.
* Înmulțire.
+ Adunare.
<>, != Diferit de.
%, MOD Restul împărțirii.
- Scădere.
/ Împărțire, cu rezultat zecimal.
:= Atribuie o valoare unei variabile, oriunde într-o instrucțiune.
< Mai mic decât.
<< Deplasează biții unui număr spre stânga.
<= Mai mic sau egal cu.
<=> Egal, tratând NULL ca pe o valoare obișnuită (nu returnează niciodată NULL).
= Egal cu.
> Mai mare decât.
>= Mai mare sau egal cu.
>> Deplasează biții unui număr spre dreapta.
ABS() Valoarea absolută a unui număr.
ACOS() Arccosinusul, în radiani.
AND, && ȘI logic: adevărat dacă ambele condiții sunt adevărate.
ASIN() Arcsinusul, în radiani.
ATAN() Arctangenta, în radiani.
ATAN2(), ATAN() Arctangenta din două coordonate, cu cadranul corect.
BETWEEN ... AND ... Verifică dacă o valoare este într-un interval, cu capetele incluse.
BINARY Operator depreciat care transformă un text în șir binar; folosește CAST(… AS BINARY).
BIT_COUNT() Numărul de biți de 1 dintr-un număr.
CASE Alege un rezultat după mai multe condiții.
CAST() Convertește o valoare în alt tip.
CEIL() Rotunjește în sus, la cel mai apropiat întreg.
CEILING() Sinonim pentru CEIL(): rotunjire în sus.
COALESCE() Prima valoare care nu este NULL dintre argumente.
CONV() Convertește un număr dintr-o bază de numerație în alta.
CONVERT() Convertește o valoare în alt tip sau un text în alt set de caractere.
COS() Cosinusul unui unghi în radiani.
COT() Cotangenta unui unghi în radiani.
CRC32() Suma de control CRC32 a unui text.
DEGREES() Transformă radiani în grade.
DIV Împărțire întreagă, fără zecimale.
EXISTS() Verifică dacă o subinterogare returnează cel puțin un rând.
EXP() Numărul e ridicat la o putere.
FLOOR() Rotunjește în jos, la cel mai apropiat întreg.
GREATEST() Cea mai mare valoare dintre argumente.
IF() Alege între două valori după o condiție.
IFNULL() Înlocuiește NULL cu o valoare implicită.
IN() Verifică dacă o valoare se află într-o listă.
INTERVAL() În al câtelea interval se află un număr față de o listă de praguri.
IS Testează o valoare față de TRUE, FALSE sau UNKNOWN.
IS NOT Negația lui IS: valoarea nu este TRUE, FALSE sau UNKNOWN.
IS NOT NULL Verifică dacă o valoare nu este NULL.
IS NULL Verifică dacă o valoare este NULL.
ISNULL() Returnează 1 dacă argumentul este NULL.
LEAST() Cea mai mică valoare dintre argumente.
LN() Logaritmul natural.
LOG() Logaritmul natural sau, cu două argumente, în baza aleasă.
LOG10() Logaritmul în baza 10.
LOG2() Logaritmul în baza 2.
MOD() Restul împărțirii, ca funcție.
NOT BETWEEN ... AND ... Verifică dacă o valoare este în afara unui interval.
NOT EXISTS() Verifică dacă o subinterogare nu returnează niciun rând.
NOT IN() Verifică dacă o valoare nu se află într-o listă.
NOT, ! Negația logică.
NULLIF() Returnează NULL dacă cele două argumente sunt egale.
OR, || SAU logic: adevărat dacă măcar o condiție este adevărată.
PI() Valoarea lui π.
POW() Ridică un număr la o putere.
POWER() Sinonim pentru POW(): ridicare la putere.
RADIANS() Transformă grade în radiani.
RAND() Un număr aleatoriu între 0 și 1.
ROUND() Rotunjește un număr la un număr de zecimale.
SIGN() Semnul unui număr: -1, 0 sau 1.
SIN() Sinusul unui unghi în radiani.
SQRT() Rădăcina pătrată.
TAN() Tangenta unui unghi în radiani.
TRUNCATE() Taie un număr la un număr de zecimale, fără rotunjire.
XOR SAU exclusiv logic: adevărat dacă exact una dintre condiții este adevărată.
^ SAU exclusiv pe biți (nu ridicare la putere).
| SAU pe biți între două numere.
~ Inversează toți biții unui număr.

Dată și oră (60)

Funcție Ce face
ADDDATE() Adaugă un interval sau un număr de zile la o dată (sinonim pentru DATE_ADD).
ADDTIME() Adună o durată HH:MM:SS la o oră sau dată-oră.
CONVERT_TZ() Convertește o dată-oră dintr-un fus orar în altul.
CURDATE() Data curentă, fără oră.
CURRENT_DATE(), CURRENT_DATE Sinonime pentru CURDATE(): data curentă.
CURRENT_TIME(), CURRENT_TIME Sinonime pentru CURTIME(): ora curentă.
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP Sinonime pentru NOW(); folosite ca valoare implicită a coloanelor.
CURTIME() Ora curentă, fără dată.
DATE() Partea de dată dintr-o valoare dată-oră.
DATEDIFF() Numărul de zile dintre două date.
DATE_ADD() Adaugă un interval (zile, luni, ani, ore…) la o dată.
DATE_FORMAT() Afișează o dată după un șablon, ex. %d.%m.%Y.
DATE_SUB() Scade un interval dintr-o dată.
DAY() Sinonim pentru DAYOFMONTH(): ziua din lună.
DAYNAME() Numele zilei din săptămână (în română cu lc_time_names = ‘ro_RO’).
DAYOFMONTH() Ziua din lună (1-31).
DAYOFWEEK() Ziua din săptămână: 1 = duminică, …, 7 = sâmbătă.
DAYOFYEAR() A câta zi din an (1-366).
EXTRACT() Extrage o parte dintr-o dată: an, lună, zi, oră sau combinații.
FROM_DAYS() Transformă un număr de zile de la anul 0 într-o dată.
FROM_UNIXTIME() Transformă un timestamp Unix într-o dată, opțional formatată.
GET_FORMAT() Șablonul de format standard pentru o regiune (EUR, USA, ISO…).
HOUR() Ora dintr-o valoare de timp.
LAST_DAY() Ultima zi a lunii unei date.
LOCALTIME(), LOCALTIME Sinonime pentru NOW(): data și ora curentă.
LOCALTIMESTAMP, LOCALTIMESTAMP() Sinonime pentru NOW(): data și ora curentă.
MAKEDATE() Construiește o dată din an și ziua din an.
MAKETIME() Construiește o oră din ore, minute și secunde.
MICROSECOND() Microsecundele dintr-o valoare de timp.
MINUTE() Minutul dintr-o valoare de timp.
MONTH() Luna dintr-o dată (1-12).
MONTHNAME() Numele lunii (în română cu lc_time_names = ‘ro_RO’).
NOW() Data și ora curentă (fixă pe durata unei instrucțiuni).
PERIOD_ADD() Adaugă luni la o perioadă scrisă ca AAAALL.
PERIOD_DIFF() Numărul de luni dintre două perioade AAAALL.
QUARTER() Trimestrul din an (1-4).
SECOND() Secunda dintr-o valoare de timp (0-59).
SEC_TO_TIME() Transformă un număr de secunde în durată HH:MM:SS.
STR_TO_DATE() Transformă un text într-o dată, după formatul în care este scris.
SUBDATE() Scade un interval sau un număr de zile dintr-o dată (sinonim pentru DATE_SUB).
SUBTIME() Scade o durată HH:MM:SS dintr-o oră sau dată-oră.
SYSDATE() Data și ora exactă din momentul execuției funcției.
TIME() Partea de oră dintr-o valoare dată-oră.
TIMEDIFF() Diferența dintre două momente, ca durată HH:MM:SS.
TIMESTAMP() Transformă o expresie în DATETIME; cu doi parametri, adună o durată.
TIMESTAMPADD() Adaugă un număr de unități de timp la o dată.
TIMESTAMPDIFF() Diferența dintre două momente, în unitatea aleasă (secunde … ani).
TIME_FORMAT() Formatează o oră sau o durată după un șablon.
TIME_TO_SEC() Transformă o durată HH:MM:SS în secunde.
TO_DAYS() Numărul de zile de la anul 0 până la o dată.
TO_SECONDS() Numărul de secunde de la anul 0 până la o dată.
UNIX_TIMESTAMP() Secundele trecute de la 1 ianuarie 1970 UTC (timestamp Unix).
UTC_DATE() Data curentă în UTC.
UTC_TIME() Ora curentă în UTC.
UTC_TIMESTAMP() Data și ora curentă în UTC.
WEEK() Numărul săptămânii din an, după modul ales.
WEEKDAY() Ziua din săptămână: 0 = luni, …, 6 = duminică.
WEEKOFYEAR() Numărul săptămânii ISO (1-53).
YEAR() Anul dintr-o dată.
YEARWEEK() Anul și săptămâna într-un singur număr (AAAASS).

Agregare, funcții fereastră și JSON (63)

Funcție Ce face
-> Citește o valoare dintr-o coloană JSON (prescurtare pentru JSON_EXTRACT).
->> Citește o valoare din JSON ca text simplu, fără ghilimele.
AVG() Media valorilor dintr-un grup.
BIT_AND() ȘI pe biți între toate valorile unui grup.
BIT_OR() SAU pe biți între toate valorile unui grup.
BIT_XOR() SAU exclusiv pe biți între toate valorile unui grup.
COUNT() Numărul de rânduri (sau de valori care nu sunt NULL).
COUNT(DISTINCT) Numărul de valori diferite.
CUME_DIST() Distribuția cumulativă: ce parte din rânduri are o valoare mai mică sau egală.
DENSE_RANK() Locul în clasament, fără locuri sărite la egalități.
FIRST_VALUE() Valoarea din primul rând al ferestrei.
GROUP_CONCAT() Lipește valorile unui grup într-un singur text.
JSON_ARRAY() Construiește o listă JSON.
JSON_ARRAYAGG() Strânge valorile unui grup într-o listă JSON.
JSON_ARRAY_APPEND() Adaugă o valoare la sfârșitul unei liste JSON.
JSON_ARRAY_INSERT() Inserează o valoare într-o listă JSON, la o poziție dată.
JSON_CONTAINS() Verifică dacă un document JSON conține o anumită valoare.
JSON_CONTAINS_PATH() Verifică dacă există una sau toate căile date într-un document JSON.
JSON_DEPTH() Adâncimea maximă a unui document JSON.
JSON_EXTRACT() Citește o valoare dintr-un document JSON după o cale.
JSON_INSERT() Adaugă valori în JSON doar unde nu există deja.
JSON_KEYS() Lista cheilor unui obiect JSON.
JSON_LENGTH() Numărul de elemente al unei liste sau de chei al unui obiect JSON.
JSON_MERGE() Nume vechi, depreciat, pentru JSON_MERGE_PRESERVE().
JSON_MERGE_PATCH() Unește documente JSON, suprascriind valorile cheilor duplicate.
JSON_MERGE_PRESERVE() Unește documente JSON, păstrând toate valorile cheilor duplicate.
JSON_OBJECT() Construiește un obiect JSON din perechi cheie-valoare.
JSON_OBJECTAGG() Construiește un obiect JSON din perechile cheie-valoare ale unui grup.
JSON_OVERLAPS() Verifică dacă două documente JSON au măcar un element comun.
JSON_PRETTY() Afișează un document JSON indentat, ușor de citit.
JSON_QUOTE() Transformă un text într-un șir JSON valid, între ghilimele.
JSON_REMOVE() Șterge chei sau elemente dintr-un document JSON.
JSON_REPLACE() Înlocuiește doar valorile existente dintr-un document JSON.
JSON_SCHEMA_VALID() Verifică dacă un document JSON respectă o schemă JSON Schema.
JSON_SCHEMA_VALIDATION_REPORT() Raport JSON cu motivul pentru care un document nu respectă schema.
JSON_SEARCH() Calea (sau căile) la care apare un text într-un document JSON.
JSON_SET() Setează valori în JSON: înlocuiește sau adaugă.
JSON_STORAGE_FREE() Spațiul eliberat într-o valoare JSON după o actualizare parțială.
JSON_STORAGE_SIZE() Câți octeți ocupă un document JSON în formatul binar.
JSON_TABLE() Transformă date JSON într-un tabel virtual cu rânduri și coloane.
JSON_TYPE() Tipul unei valori JSON (OBJECT, ARRAY, STRING, INTEGER…).
JSON_UNQUOTE() Elimină ghilimelele unui șir JSON.
JSON_VALID() Verifică dacă un text este JSON valid.
JSON_VALUE() Extrage o valoare simplă din JSON și o convertește în tipul dorit.
LAG() Valoarea din rândul anterior al ferestrei.
LAST_VALUE() Valoarea din ultimul rând al cadrului ferestrei.
LEAD() Valoarea din rândul următor al ferestrei.
MAX() Cea mai mare valoare dintr-un grup.
MEMBER OF() Verifică dacă o valoare se află într-o listă JSON.
MIN() Cea mai mică valoare dintr-un grup.
NTH_VALUE() Valoarea din al N-lea rând al ferestrei.
NTILE() Împarte rândurile în N grupe și dă numărul grupei.
PERCENT_RANK() Poziția relativă în clasament, între 0 și 1.
RANK() Locul în clasament, cu locuri sărite după egalități.
ROW_NUMBER() Numărul rândului în fereastră: 1, 2, 3…
STD() Sinonim pentru STDDEV_POP(): abaterea standard a populației.
STDDEV() Sinonim pentru STDDEV_POP(): abaterea standard a populației.
STDDEV_POP() Abaterea standard a populației.
STDDEV_SAMP() Abaterea standard a unui eșantion.
SUM() Suma valorilor dintr-un grup.
VARIANCE() Sinonim pentru VAR_POP(): varianța populației.
VAR_POP() Varianța populației.
VAR_SAMP() Varianța unui eșantion.

Informații, securitate, blocări și diverse (101)

Funcție Ce face
AES_DECRYPT() Decriptează datele criptate cu AES_ENCRYPT(), folosind aceeași cheie.
AES_ENCRYPT() Criptează date cu algoritmul AES și returnează un șir binar.
ANY_VALUE() Acceptă o coloană negrupată în GROUP BY, luând o valoare oarecare din grup.
asynchronous_connection_failover_add_managed() Replicare: adaugă un grup gestionat în lista de surse de rezervă a unui canal.
asynchronous_connection_failover_add_source() Replicare: adaugă un server sursă în lista de surse de rezervă a unui canal.
asynchronous_connection_failover_delete_managed() Replicare: scoate un grup gestionat din lista de surse de rezervă a unui canal.
asynchronous_connection_failover_delete_source() Replicare: scoate un server sursă din lista de surse de rezervă a unui canal.
asynchronous_connection_failover_reset() Replicare: șterge toate setările de comutare automată pe o sursă de rezervă.
BENCHMARK() Calculează o expresie de N ori, ca să măsori viteza serverului; returnează 0.
BIN_TO_UUID() Transformă un UUID binar (16 octeți) înapoi în text cu cratime.
CAN_ACCESS_COLUMN() Funcție internă a dicționarului de date; nu este pentru uz direct.
CAN_ACCESS_DATABASE() Funcție internă a dicționarului de date; nu este pentru uz direct.
CAN_ACCESS_TABLE() Funcție internă a dicționarului de date; nu este pentru uz direct.
CAN_ACCESS_USER() Funcție internă a dicționarului de date; nu este pentru uz direct.
CAN_ACCESS_VIEW() Funcție internă a dicționarului de date; nu este pentru uz direct.
CHARSET() Setul de caractere al unui text (utf8mb4, latin1, binary etc.).
COERCIBILITY() Cât de „puternică” e colația unui text (0-6), la comparații între colații diferite.
COLLATION() Colația unui text: regulile după care se compară și se sortează.
COMPRESS() Comprimă un text cu zlib și returnează un șir binar.
CONNECTION_ID() Numărul unic al conexiunii curente, ca în SHOW PROCESSLIST.
CURRENT_ROLE() Rolurile active în sesiunea curentă sau NONE.
CURRENT_USER(), CURRENT_USER Contul MySQL cu care a fost autentificată conexiunea; de el depind drepturile.
DATABASE() Numele bazei de date curente (aleasă cu USE) sau NULL.
DEFAULT() Valoarea implicită a unei coloane, din definiția tabelului.
ExtractValue() Extrage text dintr-un document XML cu o expresie XPath.
FORMAT_BYTES() Transformă un număr de octeți în text ușor de citit (KiB, MiB, GiB).
FORMAT_PICO_TIME() Transformă un timp în picosecunde în text ușor de citit (ns, ms, s, min).
FOUND_ROWS() Câte rânduri ar fi dat ultimul SELECT fără LIMIT; depreciată, folosește COUNT(*).
GET_DD_COLUMN_PRIVILEGES() Funcție internă a dicționarului de date; nu este pentru uz direct.
GET_DD_CREATE_OPTIONS() Funcție internă a dicționarului de date; nu este pentru uz direct.
GET_DD_INDEX_SUB_PART_LENGTH() Funcție internă a dicționarului de date; nu este pentru uz direct.
GET_LOCK() Ia o blocare cu nume, comună pentru tot serverul, cu timp maxim de așteptare.
GROUPING() Deosebește rândurile de subtotal create de WITH ROLLUP de cele obișnuite.
group_replication_disable_member_action() Group Replication: dezactivează o acțiune automată a membrilor grupului.
group_replication_enable_member_action() Group Replication: activează o acțiune automată a membrilor grupului.
group_replication_get_communication_protocol() Group Replication: versiunea protocolului de comunicare folosit de grup.
group_replication_get_write_concurrency() Group Replication: numărul maxim de instanțe de consens în paralel.
group_replication_reset_member_actions() Group Replication: readuce acțiunile membrilor la setările implicite.
group_replication_set_as_primary() Group Replication: face dintr-un anumit membru serverul principal.
group_replication_set_communication_protocol() Group Replication: alege versiunea protocolului de comunicare.
group_replication_set_write_concurrency() Group Replication: setează câte instanțe de consens pot rula în paralel.
group_replication_switch_to_multi_primary_mode() Group Replication: trece grupul în modul cu mai mulți servere principale.
group_replication_switch_to_single_primary_mode() Group Replication: trece grupul în modul cu un singur server principal.
ICU_VERSION() Versiunea bibliotecii ICU folosite pentru expresiile regulate.
INET_ATON() Transformă o adresă IPv4 cu puncte într-un număr întreg.
INET_NTOA() Transformă un număr înapoi în adresă IPv4 cu puncte.
INTERNAL_AUTO_INCREMENT() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_AVG_ROW_LENGTH() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_CHECKSUM() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_CHECK_TIME() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_DATA_FREE() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_DATA_LENGTH() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_DD_CHAR_LENGTH() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_GET_COMMENT_OR_ERROR() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_GET_ENABLED_ROLE_JSON() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_GET_HOSTNAME() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_GET_USERNAME() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_GET_VIEW_WARNING_OR_ERROR() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_INDEX_COLUMN_CARDINALITY() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_INDEX_LENGTH() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_IS_ENABLED_ROLE() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_IS_MANDATORY_ROLE() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_KEYS_DISABLED() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_MAX_DATA_LENGTH() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_TABLE_ROWS() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
INTERNAL_UPDATE_TIME() Funcție internă folosită de INFORMATION_SCHEMA; nu este pentru uz direct.
IS_FREE_LOCK() Verifică dacă o blocare cu nume este liberă (1) sau ocupată (0).
IS_USED_LOCK() ID-ul conexiunii care ține o blocare cu nume, sau NULL dacă e liberă.
IS_UUID() Verifică dacă un text are formatul unui UUID valid.
LAST_INSERT_ID() ID-ul AUTO_INCREMENT generat de ultimul INSERT din conexiunea curentă.
MASTER_POS_WAIT() Replicare, depreciată: așteaptă până replica ajunge la o poziție; folosește SOURCE_POS_WAIT().
MATCH() Căutare full-text după cuvinte, cu scor de relevanță; cere un index FULLTEXT.
MD5() Suma de control MD5 (32 de caractere hex); nesigură, eliminată din versiunile noi.
NAME_CONST() Returnează o constantă într-o coloană cu nume dat; folosită intern la replicare.
PS_CURRENT_THREAD_ID() ID-ul din Performance Schema al firului conexiunii curente.
PS_THREAD_ID() ID-ul din Performance Schema al firului pentru un ID de conexiune dat.
RANDOM_BYTES() Un șir de octeți aleatorii, sigur pentru criptografie (1-1024 octeți).
RELEASE_ALL_LOCKS() Eliberează toate blocările cu nume ale conexiunii și spune câte au fost.
RELEASE_LOCK() Eliberează o blocare luată cu GET_LOCK().
ROLES_GRAPHML() Document XML (GraphML) cu conturile, rolurile și legăturile dintre ele.
ROW_COUNT() Câte rânduri a modificat instrucțiunea anterioară (INSERT, UPDATE, DELETE).
SCHEMA() Sinonim pentru DATABASE(): numele bazei de date curente.
SESSION_USER() Sinonim pentru USER(): utilizatorul și gazda conexiunii.
SHA1(), SHA() Suma de control SHA-1 (40 de caractere hex); nesigură, eliminată din versiunile noi.
SHA2() Suma de control SHA-2 (SHA-224, SHA-256, SHA-384 sau SHA-512).
SLEEP() Pune interogarea în pauză un număr de secunde, apoi returnează 0.
SOURCE_POS_WAIT() Replicare: așteaptă până replica a aplicat modificările până la o poziție dată.
STATEMENT_DIGEST() Amprenta (hash) unei instrucțiuni SQL, aceeași pentru valori diferite.
STATEMENT_DIGEST_TEXT() Forma normalizată a unei instrucțiuni SQL, cu valorile înlocuite de ?.
SYSTEM_USER() Sinonim pentru USER(): utilizatorul și gazda conexiunii.
UNCOMPRESS() Decomprimă un text comprimat cu COMPRESS().
UNCOMPRESSED_LENGTH() Lungimea în octeți a textului înainte de COMPRESS().
UpdateXML() Înlocuiește un element XML găsit cu XPath și returnează documentul modificat.
USER() Utilizatorul și gazda de pe care s-a conectat clientul.
UUID() Generează un identificator unic universal (UUID v1) de 36 de caractere.
UUID_SHORT() Generează un identificator unic ca număr întreg pe 64 de biți.
UUID_TO_BIN() Transformă un UUID text în 16 octeți binari, pentru coloane BINARY(16).
VALIDATE_PASSWORD_STRENGTH() Cât de puternică este o parolă, de la 0 la 100.
VALUES() În ON DUPLICATE KEY UPDATE, valoarea care s-ar fi inserat; depreciată.
VERSION() Versiunea serverului MySQL, ca text.
WAIT_FOR_EXECUTED_GTID_SET() Replicare: așteaptă până când replica a executat setul de GTID-uri dat.

Funcții spațiale (GIS) (93)

Funcție Ce face
GeomCollection() Construiește o colecție din geometrii de orice tip; fără argumente, colecția goală.
GeometryCollection() Sinonim pentru GeomCollection(): colecție de geometrii de orice tip.
LineString() Construiește o linie frântă din două sau mai multe puncte.
MBRContains() Verifică dacă dreptunghiul de încadrare al primei geometrii îl conține pe al celei de-a doua.
MBRCoveredBy() Verifică dacă dreptunghiul primei geometrii este acoperit de al celei de-a doua (cu margine).
MBRCovers() Verifică dacă dreptunghiul primei geometrii îl acoperă pe al celei de-a doua (cu margine).
MBRDisjoint() Verifică dacă dreptunghiurile de încadrare a două geometrii nu au niciun punct comun.
MBREquals() Verifică dacă două geometrii au același dreptunghi de încadrare.
MBRIntersects() Verifică dacă dreptunghiurile de încadrare a două geometrii se intersectează.
MBROverlaps() Verifică dacă dreptunghiurile de încadrare a două geometrii se suprapun parțial.
MBRTouches() Verifică dacă dreptunghiurile de încadrare a două geometrii se ating doar pe margine.
MBRWithin() Verifică dacă dreptunghiul primei geometrii se află în dreptunghiul celei de-a doua.
MultiLineString() Grupează mai multe linii într-o singură geometrie MULTILINESTRING.
MultiPoint() Grupează mai multe puncte într-o singură geometrie MULTIPOINT.
MultiPolygon() Grupează mai multe poligoane într-o singură geometrie MULTIPOLYGON.
Point() Creează un punct din coordonatele x și y.
Polygon() Construiește un poligon din inele închise (contur și, opțional, goluri).
ST_Area() Aria unui poligon sau MULTIPOLYGON; pentru SRID 4326, în metri pătrați.
ST_AsBinary(), ST_AsWKB() Transformă o geometrie în formatul binar standard WKB.
ST_AsGeoJSON() Transformă o geometrie în GeoJSON, pentru hărțile web.
ST_AsText(), ST_AsWKT() Transformă o geometrie în text WKT, ușor de citit (POINT(1 2) etc.).
ST_Buffer() Zona formată din punctele aflate la cel mult o distanță dată de o geometrie.
ST_Buffer_Strategy() Creează o strategie (cerc, pătrat, capete drepte etc.) pentru ST_Buffer().
ST_Centroid() Centrul de greutate al unei geometrii, ca punct.
ST_Collect() Agregare: strânge geometriile din mai multe rânduri într-o geometrie Multi sau colecție.
ST_Contains() Verifică dacă prima geometrie o conține complet pe a doua.
ST_ConvexHull() Cel mai mic poligon convex care cuprinde toată geometria.
ST_Crosses() Verifică dacă o geometrie o traversează pe alta (de exemplu două linii care se încrucișează).
ST_Difference() Partea din prima geometrie care nu se află în a doua.
ST_Dimension() Dimensiunea unei geometrii: 0 punct, 1 linie, 2 poligon.
ST_Disjoint() Verifică dacă două geometrii nu au niciun punct comun.
ST_Distance() Distanța minimă dintre două geometrii; pentru SRID 4326, în metri pe elipsoid.
ST_Distance_Sphere() Distanța în metri dintre două puncte, calculată pe o sferă.
ST_EndPoint() Ultimul punct al unei linii.
ST_Envelope() Dreptunghiul minim de încadrare (MBR) al unei geometrii.
ST_Equals() Verifică dacă două geometrii au exact aceeași formă.
ST_ExteriorRing() Conturul exterior al unui poligon, ca linie.
ST_FrechetDistance() Distanța Fréchet discretă: cât de asemănătoare sunt două linii, ținând cont de ordine.
ST_GeoHash() Codifică longitudinea și latitudinea într-un text geohash.
ST_GeomCollFromText(), ST_GeometryCollectionFromText(), ST_GeomCollFromTxt() Creează o colecție de geometrii din text WKT.
ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB() Creează o colecție de geometrii din WKB.
ST_GeometryN() A n-a geometrie dintr-o colecție sau dintr-o geometrie Multi.
ST_GeometryType() Numele tipului unei geometrii: POINT, LINESTRING, POLYGON etc.
ST_GeomFromGeoJSON() Creează o geometrie dintr-un obiect GeoJSON (implicit cu SRID 4326).
ST_GeomFromText(), ST_GeometryFromText() Creează o geometrie de orice tip din text WKT, opțional cu SRID.
ST_GeomFromWKB(), ST_GeometryFromWKB() Creează o geometrie de orice tip din WKB, opțional cu SRID.
ST_HausdorffDistance() Distanța Hausdorff discretă: cât de diferite sunt două geometrii ca formă.
ST_InteriorRingN() Al n-lea inel interior (gol) al unui poligon.
ST_Intersection() Partea comună a două geometrii.
ST_Intersects() Verifică dacă două geometrii au măcar un punct comun.
ST_IsClosed() Verifică dacă o linie se termină în punctul din care a pornit.
ST_IsEmpty() Verifică dacă o geometrie este goală (colecția goală).
ST_IsSimple() Verifică dacă o geometrie este simplă, de exemplu o linie care nu se taie singură.
ST_IsValid() Verifică dacă o geometrie este validă după regulile OGC.
ST_LatFromGeoHash() Latitudinea codificată într-un geohash.
ST_Latitude() Latitudinea unui punct geografic sau punctul cu latitudinea schimbată.
ST_Length() Lungimea unei linii; pentru SRID 4326, în metri (sau în unitatea cerută).
ST_LineFromText(), ST_LineStringFromText() Creează o linie din text WKT.
ST_LineFromWKB(), ST_LineStringFromWKB() Creează o linie din WKB.
ST_LineInterpolatePoint() Punctul aflat la o fracțiune din lungimea unei linii.
ST_LineInterpolatePoints() Punctele aflate la intervale egale (ca fracțiune) de-a lungul unei linii.
ST_LongFromGeoHash() Longitudinea codificată într-un geohash.
ST_Longitude() Longitudinea unui punct geografic sau punctul cu longitudinea schimbată.
ST_MakeEnvelope() Dreptunghiul care are două puncte date drept colțuri opuse.
ST_MLineFromText(), ST_MultiLineStringFromText() Creează un MULTILINESTRING din text WKT.
ST_MLineFromWKB(), ST_MultiLineStringFromWKB() Creează un MULTILINESTRING din WKB.
ST_MPointFromText(), ST_MultiPointFromText() Creează un MULTIPOINT din text WKT.
ST_MPointFromWKB(), ST_MultiPointFromWKB() Creează un MULTIPOINT din WKB.
ST_MPolyFromText(), ST_MultiPolygonFromText() Creează un MULTIPOLYGON din text WKT.
ST_MPolyFromWKB(), ST_MultiPolygonFromWKB() Creează un MULTIPOLYGON din WKB.
ST_NumGeometries() Numărul de elemente dintr-o colecție sau dintr-o geometrie Multi.
ST_NumInteriorRing(), ST_NumInteriorRings() Numărul de inele interioare (goluri) ale unui poligon.
ST_NumPoints() Numărul de puncte ale unei linii.
ST_Overlaps() Verifică dacă două geometrii de aceeași dimensiune se suprapun parțial.
ST_PointAtDistance() Punctul aflat la o distanță dată de începutul unei linii.
ST_PointFromGeoHash() Punctul (longitudine, latitudine) decodificat dintr-un geohash.
ST_PointFromText() Creează un punct din text WKT.
ST_PointFromWKB() Creează un punct din WKB.
ST_PointN() Al n-lea punct al unei linii.
ST_PolyFromText(), ST_PolygonFromText() Creează un poligon din text WKT.
ST_PolyFromWKB(), ST_PolygonFromWKB() Creează un poligon din WKB.
ST_Simplify() Simplifică o geometrie, eliminând punctele care abat forma foarte puțin.
ST_SRID() SRID-ul (sistemul de coordonate) al unei geometrii sau geometria cu alt SRID.
ST_StartPoint() Primul punct al unei linii.
ST_SwapXY() Inversează coordonatele X și Y ale tuturor punctelor.
ST_SymDifference() Punctele aflate într-una dintre geometrii, dar nu în amândouă.
ST_Touches() Verifică dacă două geometrii se ating doar pe margine.
ST_Transform() Recalculează coordonatele unei geometrii într-un alt sistem de coordonate.
ST_Union() Reuniunea a două geometrii.
ST_Validate() Returnează geometria dacă este validă, altfel NULL.
ST_Within() Verifică dacă prima geometrie se află complet în interiorul celei de-a doua.
ST_X() Coordonata X a unui punct sau punctul cu X schimbat.
ST_Y() Coordonata Y a unui punct sau punctul cu Y schimbat.