Î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 |