I detta SQL Query-fuskark kommer du att lära dig
Skapa kommandon för databas och tabell
Kommando | Beskrivning |
SKAPA DATABASDATABAS; | Skapa databas |
SKAPA DATABAS FÖR INTE databas1; | OM INTE EXISTS kan du instruera MySQL-servern att kontrollera förekomsten av en databas med ett liknande namn innan du skapar databasen. |
SKAPA DATABAS OM INTE EXISTERAR databas1 TECKENINSTÄLLNING latin1 SAMLA in latin1_swedish_ci | Latin1-teckenuppsättningen använder latin1_swedish_ci-sorteringen som är den svenska skiftlägeskänsliga ordningen. |
VISA DATABASER | Du kan se en lista över befintliga databaser genom att köra följande SQL-kommando. |
SKAPA TABELL [OM INTE existerar] Tabellnamn (fältnamn datatyp [valfria parametrar]) MOTOR = lagringsmotor; | Skapa tabellsyntax |
DATATYPER
Numeriska datatyper
Kommando | Beskrivning |
TINYINT () | -128 till 127 normal 0 till 255 UNSIGNED. |
SMALLINT () | -32768 till 32767 normal 0 till 65535 UNSIGNED. |
MEDIUMINT () | -8388608 till 8388607 normal 0 till 16777215 UNSIGNED. |
INT () | -2147483648 till 2147483647 normal 0 till 4294967295 UNSIGNED. |
STORA () | -9223372036854775808 till 9223372036854775807 normal 0 till 18446744073709551615 UNSIGNED. |
FLYTA | Ett litet ungefärligt tal med en flytande decimal. |
DUBBEL (,) | Ett stort antal med en flytande decimal. |
DECIMAL (,) | EN DUBBEL som lagras som en sträng, vilket möjliggör en fast decimalpunkt. Val för lagring av valutavärden. |
Textdatatyper
Kommando | Beskrivning |
CHAR () | En fast sektion från 0 till 255 tecken lång. |
VARCHAR () | Ett variabelt avsnitt från 0 till 255 tecken långt. |
TINYTEXT | En sträng med maximal längd på 255 tecken. |
TEXT | En sträng med en maximal längd på 65535 tecken. |
KLICK | En sträng med en maximal längd på 65535 tecken. |
MEDIUMTEXT | En sträng med en maximal längd på 16777215 tecken. |
MEDIUMBLOB | En sträng med en maximal längd på 16777215 tecken. |
LONGTEXT | En sträng med en maximal längd på 4294967295 tecken. |
LONGBLOB | En sträng med en maximal längd på 4294967295 tecken. |
Datum / tid datatyper
Kommando | Beskrivning |
DATUM | ÅÅÅÅ-MM-DD |
DATUM TID | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSSTÄMPEL | ÅÅÅÅMMDDHHMMSS |
TID | HH: MM: SS |
Andra datatyper
Kommando | Beskrivning |
ENUM | För att lagra textvärde valt från en lista med fördefinierade textvärden. |
UPPSÄTTNING | Detta används också för att lagra textvärden valda från en lista med fördefinierade textvärden. Det kan ha flera värden. |
BOOL | Synonym för TINYINT (1), används för att lagra booleska värden |
BINÄR | På samma sätt som CHAR är skillnaden att texter lagras i binärt format. |
VARBINÄR | På samma sätt som VARCHAR är skillnaden att texter lagras i binärt format. |
MySQL SELECT-satskommando
Kommando | Beskrivning |
VÄLJ [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FRÅN tableName [alias] [WHERE villkor] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) | SQL SELECT-uttalande syntax |
VÄLJ * FRÅN tabell1; | välj tabellen |
VÄLJ t1, t2, t3, t4 FRÅN tabell1; | vi är bara intresserade av att bara få fälten t1, t2, t3 och t4. |
VÄLJ Concat (t1, (, t3,)), t4 FRÅN tabell2; | Få tabell2-lista |
VÄLJ kolumnnamn | värde | uttryck [AS] aliasnamn; | Alias fältnamn syntax |
MySQL WHERE sats med AND, OR, IN, NOT IN-kommandon
Kommando | Beskrivning |
VÄLJ * FRÅN tabellnamn VAR villkor; | VAR klausul Syntax |
VÄLJ * FRÅN tabell1 VAR t1 = 2 OCH t2 = 2008; | VAR klausul i kombination med - OCH LOGISK operatör |
VÄLJ * FRÅN tabell1 VAR t1 = 1 ELLER t1 = 2; | VAR klausul i kombination med - ELLER LOGISK operatör |
VÄLJ * FRÅN tabell2 VAR t1 IN (1,2,3); | WHERE klausul i kombination med - IN Keyword |
VÄLJ * FRÅN tabell2 VAR t1 INTE IN (1,2,3); | VAR klausul i kombination med - INTE i nyckelord |
VÄLJ * FRÅN tabell2 VAR t3 = Kvinna; | WHERE klausul i kombination med Equal (=) to COMPARISON OPERATORS |
VÄLJ * FRÅN tabell3 VAR t3> 2000; | WHERE klausul i kombination med större än (>) till JÄMFÖRANDE OPERATÖRER |
VÄLJ * FRÅN tabell1 VAR t1 <> 1; | VAR klausul i kombination med Inte lika med (<>) JÄMFÖRELSESOPERATÖRER |
MySQL Command INSERT INTO Tabell
Kommando | Beskrivning |
INSÄTTA I tabellnamn (kolumn_1, kolumn_2,…) VÄRDEN (värde_1, värde_2,…); | grundläggande syntax för SQL INSERT-kommandot |
INSÄTTA I tabell1 (t1, t2, t3, t4) VÄRDEN (X1, X2, X3, X4); | INSÄTTA data i tabellen |
INSERT INTO table_1 VÄLJ * FRÅN table_2; | Infoga i en tabell från en annan tabell |
MySQL DELETE-kommando
Kommando | Beskrivning |
RADERA FRÅN tabellnamn [WHERE villkor]; | Ta bort en rad i MySQL |
Exempel: - DELETE FROM table1 WHERE table1_id = 18;
(ta bort posten med 18 nummer id-formtabell1.) RADERA FRÅN tabell1 VAR tabell1_id IN (20,21); (ta bort posten i 20 och 21 nummer id-formtabell1)
MySQL Update Command
Kommando | Beskrivning |
UPPDATERA tabellnamn SET kolumnnamn = nytt värde [WHERE villkor]; | uppdatera kommandosyntax |
Exempel: - VÄLJ * FRÅN tabell1 VAR t1 = 1;
(hämta posten för t1 = 1) UPPDATERING tabell1 SET t4 = X1 VAR t1 = 1; (uppdatera t4-värdet i tabellen)
ORDER BY i MySQL: DESC & ASC-kommando
Kommando | Beskrivning |
VÄLJ uttalande ... [VAR villkor | GROUP BY field_name (s) HAVING condition] ORDER BY field_name (s) [ASC | DESC]; | Ordna efter klausul grundläggande syntax |
VÄLJ {fieldName (s) | *} FRÅN tabellnamn (ar) [VAR villkor] BESTÄLLNING FÖR fältnamn (er) ASC / DESC [LIMIT N] | DESC- och ASC-syntax |
Exempel: - För DESC (fallande)
VÄLJ * FRÅN tabell1 BESTÄLLNING AV t3 DESC; För ASC (stigande) VÄLJ * FRÅN tabell1 BESTÄLLNING AV t3 ASC;
MySQL GROUP BY och HAR Klausul-kommandot
Grupp av
Kommando | Beskrivning |
VÄLJ uttalanden ... GROUP BY column_name1 [, column_name2,…] [HAVING condition]; | GROUP BY Syntax |
Exempel på gruppering av en enda kolumn: - VÄLJ t4 FRÅN tabell1;
VÄLJ t4 FRÅN tabell1 GRUPP AV t4; (antar att vi vill få de unika värdena för t4.)
Exempel för gruppering av flera kolumner: - VÄLJ t1_id, t4 FRÅN tabell2;
VÄLJ t1_id, t4 FRÅN table2 GROUP BY t1_id, t4; (med grupp efter metod)
Gruppering och aggregerade funktioner
Kommando | Beskrivning |
VÄLJ t2, COUNT (t1) FRÅN tabell1 GROUP BY t2; | Antag att vi vill ha det totala antalet t2-kolumnvärden i vår databas. |
HAR klausul
Kommando | Beskrivning |
VÄLJ * FRÅN tabell2 GRUPP AV t1_id, t4 HAR t1_id = x1; | alla t4 för tabell2 t1 id x1. Vi skulle använda följande skript för att uppnå våra resultat. |
MySQL Wildcards-kommandon för Like, NOT Like, Escape, (%), (_)
% procentandelen jokertecken som kommanderar i MySQL
Kommando | Beskrivning |
VÄLJ uttalanden ... VAR fältnamn LIKE xxx%; | grundläggande syntax för% procent jokertecken |
Exempel: - vi skulle använda det procentuella jokertecknet för att utföra en mönstermatchning på båda sidor av ordet "X1" som del t2 i tabell1 VÄLJ * FRÅN tabell1 VAR t2 LIKE% X1%;
VÄLJ * FRÅN tabell1 VAR t2 LIKE% X1; (endast det procentuella jokertecknet i början av sökkriterierna) VÄLJ * FRÅN tabell1 VAR t2 Gilla X1%; (den procentuella jokertecken till slutet av det angivna mönstret som ska matchas.)
_ understryka jokerteckenkommandot
Kommando | Beskrivning |
VÄLJ * FRÅN tabell1 VAR t3 LIKE x2_; | alla tabell1 som var t3 under året "x2" |
INTE som kommandot med jokertecken
Kommando | Beskrivning |
VÄLJ * FRÅN tabell1 VAR t3 INTE Gillar X2_; | Antag att vi vill få tabell1 som inte var t3 år X2_ |
Escape-nyckelordet jokertecken
Kommando | Beskrivning |
LIKE 67 # %% ESCAPE #; | vi vill söka efter strängen "67%" |
MYSQL Regular Expressions (REGEXP)
Kommando | Beskrivning |
VÄLJ uttalanden ... VAR fältnamn REGEXP-mönster; | grundläggande syntax för Regular Expression |
Exempel: - alla tabell1 t1 som innehåller ordet X1. Det spelar ingen roll om "X1" är i början, mitten eller slutet av titeln. VÄLJ * FRÅN tabell1 VAR t1 REGEXP X1;
Regelbundna uttryck Metatecken
Kommando | Beskrivning |
* | Asterisk (*) metatecken används för att matcha noll (0) eller fler förekomster av strängarna före den |
+ | Plus (+) metatecken används för att matcha en eller flera förekomster av strängar före den. |
? | Frågan (?) Metatecken används för att matcha noll (0) eller en förekomst av strängarna före den. |
. | Punkt (.) Metatecken används för att matcha varje enskilt tecken utom en ny rad. |
[abc] | Charlisten [abc] används för att matcha något av de bifogade tecknen. |
[^abc] | Charlisten [abc] används för att matcha alla tecken utom de bifogade. |
[A-Z] | [AZ] används för att matcha alla versaler |
[a-z] | [Az] används för att matcha alla gemener |
[0-9] | [0-9] används för att matcha valfri siffra från 0 till 9. |
^ | Markören (^) används för att starta matchen i början. |
| | Den vertikala stapeln (|) används för att isolera alternativ. |
[[:<:]] | [[: <:]] Matchar början på ord. |
[[:>:]] | [[:>:]] Matchar slutet på ord. |
[:class:] | [: Class:] matchar en karaktärsklass, dvs [: alfa:] för att matcha bokstäver, [: space:] för att matcha vitt blanksteg, [: punkt:] är matchningstecken och [: upper:] för bokstäver i överklassen. |
SQL-funktioner-kommandon
Strängfunktioner
Kommando | Beskrivning |
VÄLJ t1_id, t2, UCASE (t2) FRÅN tabell1; | "UCASE" -funktionen för att göra det. Det tar en sträng som parameter och konverterar alla bokstäver till versaler. |
Numeriska funktioner
Kommando | Beskrivning | Exempel |
DIV | Integer division | VÄLJ 23 DIV 6; |
/ | Division | VÄLJ 23/6; |
- | Subtraktion | VÄLJ 23 - 6; |
+ | Tillägg | VÄLJ 23 + 6; |
* | Multiplikation | VÄLJ 23 * 6 AS multiplikationsresultat; |
% or MOD | Modulus | VÄLJ 23% 6; eller VÄLJ 23 MOD 6; |
Floor | den här funktionen tar bort decimaler från ett tal och avrundar det till närmaste lägsta nummer. | VÄLJ GOLV (23/6) SOM golvresultat; |
Round | denna funktion avrundar ett tal med decimaler till närmaste heltal. | VÄLJ RUND (23/6) SOM rund_resultat; |
Lagrade funktioner
Kommando | Beskrivning |
SKAPA FUNKTION sf_name ([parameter (er)]) RETURERAR datatyp DETERMINISTISKA UTTAL | grundläggande syntax för att skapa en lagrad funktion |
SKAPA FUNKTION sf_name ([parameter (er)]) | Obligatoriskt och ber MySQL-servern att skapa en funktion med namnet 'sf_name' med valfria parametrar definierade inom parentes. |
RETURNS datatyp | Obligatoriskt och specificerar datatypen som funktionen ska returnera. |
DETERMINISTISK | Funktionen returnerar samma värden om samma argument levereras till den. |
UTTALANDEN | Procedurkoden som funktionen körs. |
MySQL Aggregate-funktionskommandon
Kommando | Beskrivning |
VÄLJ RÄKNING (t1_id) FRÅN tabell1 VAR t1_id = 2; | COUNT-funktion |
VÄLJ MIN (t3) FRÅN tabell2; | MIN-funktion |
VÄLJ MAX (t3) FRÅN tabell2; | MAX-funktion |
VÄLJ SUMMA (t4) FRÅN tabell3; | SUM-funktion |
VÄLJ AVG (t4) FRÅN tabell3; | AVG-funktion |
MySQL ÄR NULL & ÄR INTE NULL-kommandon
Kommando | Beskrivning |
VÄLJ RÄKNING (t3) FRÅN tabell1; (om t3 har nullvärde närvarande som inte räknas) | Null som ett värde |
SKAPA TABELL tabell2 (t1_nummer int INTE NULL, t2_namn varchar (255), t3 varchar (6)); | INTE NULL Värden |
comlumn_name IS NULL comlumn_name NOT NULL | NULL Nyckelord Grundläggande syntax |
VÄLJ * FRÅN tabell1 VAR t2_nummer ÄR NULL; | Exempel på IS NULL |
VÄLJ * FRÅN tabell1 VAR t2_nummer INTE är NULL; | Exempel på ÄR INTE NULL |
MySQL AUTO_INCREMENT-kommandon
Kommando | Beskrivning |
SKAPA TABELL tabell1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) STANDARD NULL, t3 varchar (500) STANDARD NULL, PRIMÄR NYCKEL (t1_id)); | Automatisk ökning av syntax |
MYSQL - ALTER, DROP, RENAME, MODIFY
Kommando | Beskrivning |
ALTER TABLE tabellnamn LÄGG TILL KOLONN kolumnnamn datatyp; | Alter-syntax |
DROP TABLE sample_table; | DROP TABLE syntax |
RENAME TABLE current_table_name TO new_table_name; | Byt namn på syntax |
ALTER TABELL tabell1 ÄNDRA KOLONN t1_names t1name char (250) NOT NULL; | Byt nyckelord |
ALTER TABLE tabell1MODIFIERA t1namn char (50) INTE NULL; | ÄNDRA NYCKELORD |
ALTER TABELL tabell1 LÄGG T4 datum NULL EFTER t3; | EFTER NYCKELORD |
MySQL LIMIT & OFFSET
Kommando | Beskrivning |
VÄLJ {fältnamn (er) | *} FRÅN tabellnamn [VAR villkor] GRÄNS N; | LIMIT nyckelordssyntax |
VÄLJ * FRÅN tabell1 GRÄNS 1, 2; | OFF SET i LIMIT-frågan |
MySQL SubQuery-kommandon:
Kommando | Beskrivning |
VÄLJ t1_namn FRÅN tabell1 VAR category_id = (VÄLJ MIN (t1_id) från tabell2); | underfrågor |
MySQL JOINS-kommandon
Kommando | Beskrivning |
VÄLJ * FRÅN tabell1 CROSS JOIN-tabell2 | Cross JOIN |
VÄLJ table1.t1, table1.t2, table2.t1 FRÅN table1, table2 WHERE table2.id = table1.table2_id | INRE KOPPLING |
VÄLJ A.t1, B.t2, B.t3 FRÅN tabell2 SOM EN VÄNSTER FÖRENING tabell1 AS B PÅ B.tabell2_id = A.id | VÄNSTER GÅ MED |
VÄLJ A.t1, A.t2, B.t3 FRÅN tabell1 SOM EN HÖGER FÖRENING tabell2 AS B PÅ B.id = A.table2_id | RÄTT GÅ MED |
VÄLJ A.t1, B.t2, B.t3 FRÅN tabell2 SOM EN VÄNSTER FÖRENING tabell1 SOM B ANVÄNDER (tabell2_id) | "ON" och "USING" -satser |
MySQL UNION-kommandon
Kommando | Beskrivning |
VÄLJ kolumn1, kolumn2 FRÅN tabell1 | UNION-syntax |
VÄLJ kolumn1, kolumn2 FRÅN tabell2; | UNION DISTINCT |
MySQL i Views-kommandon
Kommando | Beskrivning |
CREATE VIEW view_name AS SELECT-sats; | Visningssyntax |
DROP VIEW general_v_movie_rentals; | Släppande vyer |
MySQL-indexkommandon
Kommando | Beskrivning |
SKAPA INDEX id_index PÅ tabellnamn (kolumnnamn); | Lägg till index grundläggande syntax |
DROP INDEX index_ID PÅ tabellnamn; | Släpp index grundläggande syntax |