Foaie de cheat SQL (actualizare 2021)

În această foaie de trucuri SQL Query veți învăța

Creați comenzi de bază de date și tabel

Comanda Descriere
CREAȚI BAZA DE DATE BAZA DE DATE; Creați o bază de date
CREAȚI BAZA DE DATE NU EXISTĂ database1; DACĂ NU EXISTĂ vă permite să instruiți serverul MySQL să verifice existența unei baze de date cu un nume similar înainte de a crea baza de date.
CREAȚI BAZA DE DATE DACĂ NU EXISTEZĂ baza de date1 SET DE CARACTERE latin1 COLLATE latin1_sw Swedish_ci setul de caractere Latin1 folosește colația latin1_sweden_ci, care este ordinea suedeză insensibilă la majuscule.
AFIȘAȚI BAZELE DE DATE Puteți vedea lista bazelor de date existente executând următoarea comandă SQL.
CREARE TABEL [DACĂ NU EXISTĂ] TableName (nume câmp dateType [parametri opționali]) MOTOR = motor de stocare; Creați sintaxa tabelului

TIPURI DE DATE

Tipuri de date numerice

Comanda Descriere
TINYINT () -128 până la 127 normal 0 până la 255 NESEMNE.
SMALLINT () -32768 la 32767 normal 0 la 65535 NESEMINAT.
MEDIUMINT () -8388608 la 8388607 normal 0 la 16777215 NESEMINAT.
INT () -2147483648 până la 2147483647 normal 0 până la 4294967295 NESEMINAT.
BIGINT () -9223372036854775808 la 9223372036854775807 normal 0 la 18446744073709551615 NESEMNIFICAT.
PLUTI Un număr aproximativ mic cu virgulă zecimală flotantă.
DUBLU (,) Un număr mare cu punct zecimal flotant.
ZECIMAL (,) O DUBLĂ stocată ca un șir, permițând un punct zecimal fix. Alegere pentru stocarea valorilor valutare.

Tipuri de date text

Comanda Descriere
CHAR () O secțiune fixă ​​de la 0 la 255 de caractere.
VARCHAR () O secțiune variabilă de la 0 la 255 de caractere.
TINYTEXT Un șir cu o lungime maximă de 255 de caractere.
TEXT Un șir cu lungimea maximă de 65535 de caractere.
BLOB Un șir cu lungimea maximă de 65535 de caractere.
MEDIUMTEXT Un șir cu o lungime maximă de 16777215 caractere.
MEDIUMBLOB Un șir cu o lungime maximă de 16777215 caractere.
LONGTEXT Un șir cu o lungime maximă de 4294967295 caractere.
LONGBLOB Un șir cu o lungime maximă de 4294967295 caractere.

Tipuri de date Data / Ora

Comanda Descriere
DATA AAAA-LL-ZZ
DATETIME AAAA-LL-ZZ HH: MM: SS
TIMESTAMP-UL AAAAAMMDDHHMMSS
TIMP HH: MM: SS

Alte tipuri de date

Comanda Descriere
ENUM Pentru a stoca valoarea textului aleasă dintr-o listă de valori text predefinite.
A STABILIT Acesta este, de asemenea, utilizat pentru stocarea valorilor de text alese dintr-o listă de valori de text predefinite. Poate avea mai multe valori.
BOOL Sinonim pentru TINYINT (1), folosit pentru a stoca valorile booleene
BINAR Similar cu CHAR, diferența este că textele sunt stocate în format binar.
VARBINAR Similar cu VARCHAR, diferența este că textele sunt stocate în format binar.

Comandă de instrucțiuni MySQL SELECT

Comanda Descriere
SELECTEAZĂ [DISTINCT | TOATE] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) Sintaxa instrucțiunii SQL SELECT
SELECT * DIN tabelul1; selectați tabelul
SELECȚIAȚI t1, t2, t3, t4 DIN tabelul1; suntem interesați doar să obținem doar câmpurile t1, t2, t3 și t4.
SELECT Concat (t1, (, t3,)), t4 DIN tabelul2; Obținerea listării table2
SELECT nume_coloană | valoare | expresie [AS] nume_alias; Sintaxa numelor de câmp alias

Clauza MySQL WHERE cu comenzi AND, OR, IN, NOT IN

Comanda Descriere
SELECT * FROM tableName WHERE condiție; Sintaxa clauzei WHERE
SELECT * DIN tabelul1 UNDE t1 = 2 ȘI t2 = 2008; Clauza WHERE combinată cu - ȘI Operatorul LOGIC
SELECȚIE * DIN TABELUL 1 UNDE t1 = 1 SAU t1 = 2; Clauza WHERE combinată cu - SAU Operator LOGIC
SELECT * DIN tabelul2 UNDE t1 IN (1,2,3); Clauza WHERE combinată cu - IN Cuvânt cheie
SELECT * DIN tabelul2 UNDE t1 NOT IN (1,2,3); Clauza WHERE combinată cu - NOT IN Cuvânt cheie
SELECT * DIN tabelul2 UNDE t3 = Femei; Clauza WHERE combinată cu Equal (=) la OPERATORI DE COMPARAȚIE
SELECT * DIN tabelul3 UNDE t3> 2000; Clauza WHERE combinată cu mai mare decât (>) la OPERAȚII DE COMPARAȚIE
SELECT * DIN tabelul1 UNDE t1 <> 1; Clauza WHERE combinată cu Nu este egal cu (<>) OPERATORI DE COMPARAȚIE

Comanda MySQL INSERT INTO Table

Comanda Descriere
INSERT INTO table_name (coloana_1, coloana_2, ...) VALORI (valoare_1, valoare_2, ...); sintaxa de bază a comenzii SQL INSERT
INSERAȚI ÎN Tabelul 1 (t1, t2, t3, t4) VALORI (X1, X2, X3, X4); INSERAȚI datele în tabel
INSERT INTO table_1 SELECT * FROM table_2; Inserarea într-un tabel dintr-un alt tabel

Comanda MySQL DELETE

Comanda Descriere
DELETE FROM table_name [WHERE condition]; Ștergeți un rând din MySQL

Exemplu: - ȘTERGEȚI din tabelul1 UNDE tabelul1_id = 18;

(ștergeți intrarea din tabelul formularului cu 18 numere.) ȘTERGEȚI DIN tabelul1 UNDE tabelul1_id IN (20,21); (ștergeți intrarea din tabelul formularului de identificare a numărului 20 și 21)

Comandă de actualizare MySQL

Comanda Descriere
ACTUALIZARE table_name SET column_name = new_value [WHERE condition]; actualizați sintaxa comenzii

Exemplu: - SELECT * DIN tabelul1 UNDE t1 = 1;

(preluați înregistrarea pentru t1 = 1) ACTUALIZARE tabel1 SET t4 = X1 UNDE t1 = 1; (actualizați valoarea t4 în tabel)

ORDER BY în comanda MySQL: DESC & ASC

Comanda Descriere
Instrucțiunea SELECT ... [WHERE condition | GRUPA CU nume_câmp (e) având condiție] COMANDĂ ÎN funcție de nume (nume) câmp [ASC | DESC]; Sintaxa de bază ordonată prin clauză
SELECTAȚI {fieldName (s) | *} FROM tableName (s) [WHERE condition] ORDER BY fieldname (s) ASC / DESC [LIMIT N] Sintaxa DESC și ASC

Exemplu: - Pentru DESC (descendent)

SELECT * DIN tabelul 1 ORDINĂ DE T3 DESC; Pentru ASC (crescător) SELECȚIONEAZĂ * DIN TABELUL 1 ORDINĂ DE T3 ASC;

Comanda MySQL GROUP BY și HAVING Clause

A se grupa cu

Comanda Descriere
Instrucțiuni SELECT… GROUP BY column_name1 [, column_name2,…] [HAVING condition]; GRUPA PE Sintaxă

Exemplu pentru gruparea unei singure coloane: - SELECT t4 FROM table1;

SELECȚIAȚI T4 DIN TABELUL 1 GRUPAȚI CU T4;

Exemplu pentru gruparea mai multor coloane: - SELECT t1_id, t4 FROM tabel2;

SELECT t1_id, t4 FROM table2 GROUP BY t1_id, t4; (folosind grupul după metodă)

Funcții de grupare și agregare

Comanda Descriere
SELECȚIONEAZĂ t2, COUNT (t1) DIN tabelul 1 GRUPĂ PE T2; Să presupunem că dorim numărul total de valori ale coloanei t2 în baza noastră de date.

Având clauza

Comanda Descriere
SELECȚIONEAZĂ * DIN TABELUL 2 GRUPĂ DE T1_id, t4 AVÂND t1_id = x1; toate t4 pentru tabelul2 t1 id x1. Am folosi următorul script pentru a obține rezultatele noastre.

Comenzi WildCards MySQL pentru Like, NOT Like, Escape, (%), (_)

% procentul de comenzi wildcards în MySQL

Comanda Descriere
Instrucțiuni SELECT ... UNDE nume de câmp LIKE xxx%; sintaxa de bază pentru% procentul comodin

Exemplu: - am folosi procentul wildcard pentru a efectua o potrivire de model pe ambele părți ale cuvântului „X1” ca parte t2 din tabelul 1 SELECT * DIN tabelul1 UNDE t2 LIKE% X1%;

SELECT * DIN tabelul1 UNDE t2 LIKE% X1; (procentul wildcard la începutul criteriilor de căutare numai) SELECT * DIN tabelul1 UNDE t2 LIKE X1%; (procentul de caractere wildcard până la sfârșitul modelului specificat care se potrivește.)

_ subliniați comanda wildcard

Comanda Descriere
SELECT * DIN tabelul1 UNDE t3 COME x2_; toate tabelele1 care au fost t3 în anul "x2"

NU Ca comanda wildcard

Comanda Descriere
SELECȚIONEAZĂ * DIN TABELUL 1 ÎNDE T3 NU COME X2_; Să presupunem că vrem să obținem tabelul 1 care nu a fost t3 în anul X2_

Comanda de tip wildcard pentru cuvântul cheie Escape

Comanda Descriere
LIKE 67 # %% ESCAPE #; vrem să verificăm șirul „67%”

Expresii regulate MYSQL (REGEXP)

Comanda Descriere
Instrucțiuni SELECT ... UNDE nume de câmp model REGEXP; sintaxa de bază a Expresiei regulate

Exemplu: - toate tabelele1 t1 care au cuvântul X1 în ele. Nu contează dacă „X1” se află la începutul, mijlocul sau sfârșitul titlului. SELECT * DIN tabelul1 UNDE t1 REGEXP X1;

Expresie regulată Metacaractere

Comanda Descriere
* Asteriscul (*) metacaracter este utilizat pentru a se potrivi cu zero (0) sau mai multe instanțe ale șirurilor care o precedă
+ Metacaracterul plus (+) este folosit pentru a se potrivi cu una sau mai multe instanțe de șiruri care o precedă.
? Întrebarea (?) Metacaracter este utilizată pentru a se potrivi cu zero (0) sau cu o instanță a șirurilor care o precedă.
. Metacharacterul punct (.) Este utilizat pentru a se potrivi cu orice caracter unic, cu excepția unei noi linii.
[abc] Lista de caractere [abc] este utilizată pentru a se potrivi cu oricare dintre caracterele incluse.
[^abc] Lista de caractere [abc] este utilizată pentru a se potrivi cu orice caractere, cu excepția celor incluse.
[A-Z] [AZ] este utilizat pentru a se potrivi cu orice literă mare
[a-z] [Az] este utilizat pentru a se potrivi cu orice literă minusculă
[0-9] [0-9] este folosit pentru a potrivi orice cifră de la 0 la 9.
^ Caret (^) este folosit pentru a începe meciul la început.
| Bara verticală (|) este utilizată pentru a izola alternativele.
[[:<:]] [[: <:]] Se potrivește cu începutul cuvintelor.
[[:>:]] [[:>:]] Se potrivește cu sfârșitul cuvintelor.
[:class:] [: Class:] se potrivește cu o clasă de caractere, adică [: alpha:] pentru a se potrivi cu literele, [: space:] pentru a se potrivi cu spațiul alb, [: punct:] reprezintă punctuațiile de potrivire și [: upper:] pentru literele din clasa superioară.

Comenzi SQL Functions

Funcții de șir

Comanda Descriere
SELECT t1_id, t2, UCASE (t2) DIN tabelul1; funcția „UCASE” pentru a face acest lucru. Ia un șir ca parametru și convertește toate literele cu majuscule.

Funcții numerice

Comanda Descriere Exemplu
DIV Diviziunea întregi SELECTEAZĂ 23 DIV 6;
/ Divizia SELECT 23/6;
- Scădere SELECTEAZĂ 23 - 6;
+ Plus SELECȚIONEAZĂ 23 + 6;
* Multiplicare SELECT 23 * 6 AS multiplication_result;
% or MOD Modulul SELECȚIONEAZĂ 23% 6; sau SELECT 23 MOD 6;
Floor această funcție elimină locurile zecimale dintr-un număr și îl rotunjește la cel mai apropiat număr cel mai mic. SELECȚIONAȚI PLANUL (23/6) AS floor_result;
Round această funcție rotunjește un număr cu zecimale la cel mai apropiat număr întreg. SELECT ROUND (23/6) AS round_result;

Funcții stocate

Comanda Descriere
CREAȚI FUNCȚIA sf_name ([parametru (i)]) RETURĂ tip de date DECLARAȚII DETERMINISTICE sintaxa de bază pentru crearea unei funcții stocate
CREAȚI FUNCȚIA sf_name ([parametru (i)]) Obligatoriu și îi spune serverului MySQL să creeze o funcție numită „sf_name” cu parametrii opționali definiți în paranteză.
RETURNE tip de date Obligatoriu și specifică tipul de date pe care funcția ar trebui să îl returneze.
DETERMINAT Funcția va returna aceleași valori dacă i se furnizează aceleași argumente.
DECLARAȚII Codul procedural pe care îl execută funcția.

Comenzi ale funcției Agregate MySQL

Comanda Descriere
SELECTAȚI COUNT (t1_id) DIN tabelul1 UNDE t1_id = 2; Funcția COUNT
SELECTAȚI MIN (t3) DIN tabelul2; Funcția MIN
SELEGEȚI MAX (t3) DIN tabelul2; Funcția MAX
SELECT SUM (t4) DIN tabelul3; Funcția SUM
SELECTEAZĂ AVG (t4) DIN tabelul3; Funcția AVG

Comenzile MySQL IS NULL & IS NOT NULL

Comanda Descriere
SELECTAȚI COUNT (t3) DIN tabelul1; (dacă t3 are valoare nulă prezentă care nu se numără) Nul ca valoare
CREARE TABEL tabel2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); NU valori nule
comlumn_name IS NULL comlumn_name NOT NULL NULL Cuvinte cheie Sintaxă de bază
SELECT * FROM table1 WHERE t2_number IS NULL; Exemplu de IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; Exemplu de IS NOT NULL

Comenzi MySQL AUTO_INCREMENT

Comanda Descriere
CREATE TABLE table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, CHEIE PRIMARĂ (t1_id)); Sintaxa de incrementare automată

MYSQL - ALTER, DROP, RENAME, MODIFY

Comanda Descriere
ALTER TABLE nume_tabel ADAUGĂ COLUMNĂ nume_coloană tip_date; Alter- sintaxă
DROP TABLE sample_table; Sintaxa DROP TABLE
RENAME TABLE current_table_name TO new_table_name; Sintaxa RENAME COMMAND
ALTER TABLE tabel1 SCHIMBARE CULOANĂ t1_names t1name char (250) NOT NULL; MODIFICĂ CUVINTE CHEIE
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; MODIFICĂ CUVINTE CHEIE
ALTER TABLE tabel1 ADĂUGARE t4 dată NULL DUPĂ t3; DUPĂ CUVINTE CHEIE

MySQL LIMIT & OFFSET

Comanda Descriere
SELECTAȚI {nume de câmp | | *} FROM tableName (s) [WHERE condition] LIMIT N; Sintaxa cuvântului cheie LIMIT
SELECT * DIN tabelul1 LIMIT 1, 2; OFF SET în interogarea LIMIT

Comenzi MySQL SubQuery:

Comanda Descriere
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) din table2); interogări secundare

Comenzile MySQL JOINS

Comanda Descriere
SELECT * FROM table1 CROSS JOIN table2 Crucea ÎNSCRIEȚI-VĂ
SELECT table1.t1, table1.t2, table2.t1 FROM table1, table2 WHERE table2.id = table1.table2_id INTERIOR ÎNSCRIEȚI-VĂ
SELECȚIONEAZĂ A.t1, B.t2, B.t3 DIN tabelul2 CA O ÎNREGISTRARE STÂNGĂ tabelul1 AS B ON B.table2_id = A.id ÎNREGISTRARE STÂNGA
SELECȚIONEAZĂ A.t1, A.t2, B.t3 DIN tabelul 1 CA UNA DREAPTA tabelul2 AS B ON B.id = A.table2_id ÎNREGISTRARE DREPTĂ
SELECȚIONEAZĂ A.t1, B.t2, B.t3 DIN tabelul2 CA O ÎNREGISTRARE STÂNGĂ tabelul1 CA B UTILIZAND (table2_id) Clauzele „ON” și „USING”

Comenzi MySQL UNION

Comanda Descriere
Selectați coloana1, coloana2 din tabelul1 Sintaxa UNION
SELECT coloana1, coloana2 DIN tabelul2; UNION DISTINCT

Comenzi MySQL în Views

Comanda Descriere
Instrucțiunea CREATE VIEW view_name AS SELECT; Sintaxa vizualizărilor
DROP VIEW general_v_movie_rentals; Reducerea vizualizărilor

Comenzi MySQL Index

Comanda Descriere
CREATE INDEX id_index ON nume_tabel (nume_coloană); Adăugați sintaxa de bază a indexului
DROP INDEX index_id ON nume_tabel; Aruncați sintaxa de bază a indexului

Articole interesante...