I dette SQL Query-snyderark lærer du
Opret database- og tabelkommandoer
Kommando | Beskrivelse |
OPRET DATABASE DATABASE; | Opret database |
OPRET DATABASE, EKSISTER ikke database1; | HVIS IKKE EKSISTER, kan du instruere MySQL-serveren om at kontrollere eksistensen af en database med et lignende navn inden oprettelse af database. |
OPRET DATABASE, HVIS IKKE FINDER database1 TEGNESÆT latin1 SAMLING latin1_swedish_ci | Latin1-tegnsættet bruger sorteringen latin1_swedish_ci, som er den svenske store og små bogstaver. |
VIS DATABASER | Du kan se listen over eksisterende databaser ved at køre efter SQL-kommando. |
OPRET TABEL [HVIS IKKE FINDER] Tabelnavn (feltnavn dataType [valgfri parametre]) MOTOR = lagermotor; | Opret tabelsyntaks |
DATATYPER
Numeriske datatyper
Kommando | Beskrivelse |
TINYINT () | -128 til 127 normal 0 til 255 UNSIGNED. |
SMALLINT () | -32768 til 32767 normal 0 til 65535 UNSIGNED. |
MEDIUMINT () | -8388608 til 8388607 normal 0 til 16777215 UNSIGNED. |
INT () | -2147483648 til 2147483647 normal 0 til 4294967295 UNSIGNED. |
BIGINT () | -9223372036854775808 til 9223372036854775807 normal 0 til 18446744073709551615 UNSIGNED. |
FLYDE | Et lille omtrentligt tal med et flydende decimaltegn. |
DOBBELT( , ) | Et stort tal med et flydende decimaltegn. |
DECIMAL (,) | EN DOBBEL gemt som en streng, hvilket giver mulighed for et fast decimaltegn. Valg til lagring af valutaværdier. |
Tekstdatatyper
Kommando | Beskrivelse |
CHAR () | Et fast afsnit fra 0 til 255 tegn. |
VARCHAR () | Et variabelt afsnit fra 0 til 255 tegn. |
TINYTEXT | En streng med en maksimal længde på 255 tegn. |
TEKST | En streng med en maksimal længde på 65535 tegn. |
BLOB | En streng med en maksimal længde på 65535 tegn. |
MEDIUMTEXT | En streng med en maksimal længde på 16777215 tegn. |
MEDIUMBLOB | En streng med en maksimal længde på 16777215 tegn. |
LONGTEXT | En streng med en maksimal længde på 4294967295 tegn. |
LONGBLOB | En streng med en maksimal længde på 4294967295 tegn. |
Datatyper for dato / tid
Kommando | Beskrivelse |
DATO | ÅÅÅÅ-MM-DD |
DATO TID | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSSTEMPEL | ÅÅÅÅMMDDHHMMSS |
TID | HH: MM: SS |
Andre datatyper
Kommando | Beskrivelse |
ENUM | At gemme tekstværdi valgt fra en liste med foruddefinerede tekstværdier. |
SÆT | Dette bruges også til lagring af tekstværdier valgt fra en liste med foruddefinerede tekstværdier. Det kan have flere værdier. |
BOOL | Synonym for TINYINT (1), bruges til at gemme boolske værdier |
BINÆR | I lighed med CHAR er forskellen, at tekster er gemt i binært format. |
VARBINÆR | I lighed med VARCHAR er forskellen, at tekster er gemt i binært format. |
MySQL SELECT-sætningskommando
Kommando | Beskrivelse |
VÆLG [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FRA tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) | SQL SELECT-sætningssyntaks |
VÆLG * FRA tabel1; | vælg tabellen |
VÆLG t1, t2, t3, t4 FRA tabel1; | vi er kun interesseret i kun at få felterne t1, t2, t3 og t4. |
VÆLG Concat (t1, (, t3,)), t4 FRA tabel2; | Få tabel2 liste |
VÆLG kolonnenavn | værdi | udtryk [AS] alias_navn; | Alias-feltnavne syntaks |
MySQL WHERE-klausul med AND, OR, IN, NOT IN-kommandoer
Kommando | Beskrivelse |
VÆLG * FRA tabelnavn HVOR tilstand; | WHERE klausul Syntaks |
VÆLG * FRA tabel1 HVOR t1 = 2 OG t2 = 2008; | Hvor klausul kombineret med - OG LOGISK operatør |
VÆLG * FRA tabel1 HVOR t1 = 1 ELLER t1 = 2; | WHERE klausul kombineret med - ELLER LOGISK operatør |
VÆLG * FRA tabel2 HVOR t1 IN (1,2,3); | WHERE klausul kombineret med - IN Keyword |
VÆLG * FRA tabel2 HVOR t1 IKKE I (1,2,3); | WHERE klausul kombineret med - NOT IN Keyword |
VÆLG * FRA tabel2 HVOR t3 = Kvinde; | WHERE klausul kombineret med Equal (=) til COMPARISON OPERATORS |
VÆLG * FRA tabel3 HVOR t3> 2000; | WHERE klausul kombineret med større end (>) til COMPARISON OPERATORS |
VÆLG * FRA tabel1 HVOR t1 <> 1; | WHERE klausul kombineret med ikke lig med (<>) SAMMENLIGNINGSOPERATØRER |
MySQL Command INSERT INTO Table
Kommando | Beskrivelse |
INDSÆT TIL tabelnavn (kolonne_1, kolonne_2,…) VÆRDIER (værdi_1, værdi_2,…); | grundlæggende syntaks for kommandoen SQL INSERT |
INDSÆT TIL tabel1 (t1, t2, t3, t4) VÆRDIER (X1, X2, X3, X4); | INDSÆT data i tabellen |
INDSÆT I tabel_1 VÆLG * FRA tabel_2; | Indsættelse i en tabel fra en anden tabel |
MySQL DELETE-kommando
Kommando | Beskrivelse |
SLET FRA tabelnavn [WHERE-tilstand]; | Slet en række i MySQL |
Eksempel: - SLET FRA tabel1 HVOR tabel1_id = 18;
(slet indtastning af 18 nummer id formtabel1.) SLET FRA tabel1 HVOR tabel1_id IN (20,21); (slet post i 20 og 21 nummer-id-formtabel1)
MySQL Update Command
Kommando | Beskrivelse |
OPDATER tabelnavn SET kolonnenavn = ny_værdi [WHERE-tilstand]; | opdater kommandosyntaks |
Eksempel: - VÆLG * FRA tabel1 HVOR t1 = 1;
(Hent posten for t1 = 1) UPDATE-tabel1 SET t4 = X1 WHERE t1 = 1; (opdater t4-værdien i tabel)
ORDER BY i MySQL: DESC & ASC-kommando
Kommando | Beskrivelse |
VÆLG sætning ... [WHERE condition | GROUP BY field_name (s) HAVING condition] ORDER BY field_name (s) [ASC | DESC]; | Ordne efter klausul grundlæggende syntaks |
VÆLG {fieldName (s) | *} FRA tabel (r) [HVOR betingelse] BESTIL EFTER feltnavn (er) ASC / DESC [GRÆNSE N] | DESC og ASC syntaks |
Eksempel: - For DESC (faldende)
VÆLG * FRA tabel1 BESTILLE VED t3 DESC; For ASC (stigende) VÆLG * FRA tabel1 ORDER BY t3 ASC;
MySQL GROUP BY og HAR Klausulkommando
Gruppér efter
Kommando | Beskrivelse |
VÆLG udsagn ... GROUP BY column_name1 [, column_name2,…] [HAVING condition]; | GROUP BY Syntaks |
Eksempel på gruppering af en enkelt kolonne: - VÆLG t4 FRA tabel1;
VÆLG t4 FRA tabel1 GROUP BY t4; (antag, at vi ønsker at få de unikke værdier for t4.)
Eksempel til gruppering af flere kolonner: - VÆLG t1_id, t4 FRA tabel2;
VÆLG t1_id, t4 FRA tabel2 GROUP BY t1_id, t4; (ved hjælp af gruppe efter metode)
Gruppering og samlede funktioner
Kommando | Beskrivelse |
VÆLG t2, TÆLLING (t1) FRA tabel1 GRUPPE VED t2; | Antag, at vi vil have det samlede antal t2-kolonneværdier i vores database. |
HAR klausul
Kommando | Beskrivelse |
VÆLG * FRA tabel2 GRUPPE VED t1_id, t4 HAR T1_id = x1; | alle t4 til tabel2 t1 id x1. Vi bruger følgende script til at opnå vores resultater. |
MySQL Wildcards-kommandoer til Like, NOT Like, Escape, (%), (_)
% procentdelen af jokertegn kommanderet i MySQL
Kommando | Beskrivelse |
VÆLG sætninger ... HVOR feltnavn LIKE xxx%; | grundlæggende syntaks for% procent wildcard |
Eksempel: - vi ville bruge det procentvise jokertegn til at udføre et mønstermatch på begge sider af ordet "X1" som del t2 i tabel1 VÆLG * FRA tabel1 HVOR t2 LIGE% X1%;
VÆLG * FRA tabel1 HVOR t2 LIGER% X1; (kun det procentvise wildcard i begyndelsen af søgekriterierne) VÆLG * FRA tabel1 HVOR t2 LIGER X1%; (det procentvise jokertegn til slutningen af det angivne mønster, der skal matches.)
_ understrege kommandoen med jokertegn
Kommando | Beskrivelse |
VÆLG * FRA tabel1 HVOR t3 LIKE x2_; | alle tabel1, der var t3 i året "x2" |
IKKE som jokertegnkommando
Kommando | Beskrivelse |
VÆLG * FRA tabel1 HVOR t3 IKKE Ligesom X2_; | Antag, at vi ønsker at få tabel1, der ikke var t3 i året X2_ |
Undslip nøgleordet jokertegnkommando
Kommando | Beskrivelse |
Ligesom 67 # %% ESCAPE #; | vi vil tjekke for strengen "67%" |
MYSQL Regular Expressions (REGEXP)
Kommando | Beskrivelse |
VÆLG udsagn ... HVOR feltnavn REGEXP mønster; | grundlæggende syntaks for regulært udtryk |
Eksempel: - alle tabel1 t1, der har ordet X1. Det betyder ikke noget, om "X1" er i begyndelsen, midten eller slutningen af titlen. VÆLG * FRA tabel1 HVOR t1 REGEXP X1;
Regelmæssigt udtryk Metategn
Kommando | Beskrivelse |
* | Asterisk (*) metakarakteren bruges til at matche nul (0) eller flere forekomster af strengene forud for den |
+ | Plus (+) metakarakteren bruges til at matche en eller flere forekomster af strenge forud for den. |
? | Spørgsmålet (?) Metakarakter bruges til at matche nul (0) eller en forekomst af strengene forud for den. |
. | Punktet (.) -Metakendetegn bruges til at matche ethvert enkelt tegn undtagen en ny linje. |
[abc] | Charlisten [abc] bruges til at matche et hvilket som helst af de vedlagte tegn. |
[^abc] | Charlisten [abc] bruges til at matche alle tegn undtagen de vedlagte. |
[A-Z] | [AZ] bruges til at matche ethvert stort bogstav |
[a-z] | [Az] bruges til at matche ethvert lille bogstav |
[0-9] | [0-9] bruges til at matche ethvert ciffer fra 0 til 9. |
^ | Tegn (^) bruges til at starte kampen i starten. |
| | Den lodrette bjælke (|) bruges til at isolere alternativer. |
[[:<:]] | [[: <:]] Matcher begyndelsen af ord. |
[[:>:]] | [[:>:]] Matcher slutningen af ord. |
[:class:] | [: Klasse:] matcher en tegnklasse, dvs. [: alfa:] for at matche bogstaver, [: mellemrum:] for at matche det hvide mellemrum, [: punkt:] er match tegnsætning og [: øvre:] for bogstaver i øverste klasse. |
SQL-funktioner-kommandoer
Strengfunktioner
Kommando | Beskrivelse |
VÆLG t1_id, t2, UCASE (t2) FRA tabel1; | "UCASE" -funktionen til at gøre det. Det tager en streng som parameter og konverterer alle bogstaverne til store bogstaver. |
Numeriske funktioner
Kommando | Beskrivelse | Eksempel |
DIV | Heltalsafdeling | VÆLG 23 DIV 6; |
/ | Division | VÆLG 23/6; |
- | Subtraktion | VÆLG 23 - 6; |
+ | Tilføjelse | VÆLG 23 + 6; |
* | Multiplikation | VÆLG 23 * 6 AS multiplikationsresultat; |
% or MOD | Modulus | VÆLG 23% 6; eller VÆLG 23 MOD 6; |
Floor | denne funktion fjerner decimaler fra et tal og afrunder det til nærmeste laveste tal. | VÆLG GULV (23/6) AS gulvresultat; |
Round | denne funktion afrunder et tal med decimaler til nærmeste heltal. | VÆLG RUND (23/6) SOM runde-resultat; |
Gemte funktioner
Kommando | Beskrivelse |
OPRET FUNKTION sf_name ([parameter (er)]) RETURER datatype DETERMINISTISKE UDTALELSER | grundlæggende syntaks til oprettelse af en gemt funktion |
OPRET FUNKTION sf_name ([parameter (er)]) | Obligatorisk og beder MySQL-serveren om at oprette en funktion ved navn 'sf_name' med valgfri parametre defineret i parentes. |
RETURER datatype | Obligatorisk og specificerer den datatype, som funktionen skal returnere. |
DETERMINISTISK | Funktionen returnerer de samme værdier, hvis de samme argumenter leveres til den. |
UDTALELSER | Den procedurekode, som funktionen udfører. |
MySQL Aggregate-funktionskommandoer
Kommando | Beskrivelse |
VÆLG TÆLL (t1_id) FRA tabel1 HVOR t1_id = 2; | COUNT-funktion |
VÆLG MIN (t3) FRA tabel2; | MIN-funktion |
VÆLG MAX (t3) FRA tabel2; | MAX-funktion |
VÆLG SUM (t4) FRA tabel3; | SUM-funktion |
VÆLG AVG (t4) FRA tabel3; | AVG-funktion |
MySQL ER NULL & ER IKKE NULL-kommandoer
Kommando | Beskrivelse |
VÆLG TÆLL (t3) FRA tabel1; (hvis t3 har nulværdi til stede, der ikke tæller) | Null som værdi |
Opret TABEL tabel2 (t1_nummer int IKKE NULL, t2_navne varchar (255), t3 varchar (6)); | IKKE NULL Værdier |
comlumn_name IS NULL comlumn_name NOT NULL | NULL Nøgleord Grundlæggende syntaks |
VÆLG * FRA tabel1 HVOR t2_nummer ER NULL; | Eksempel på IS NULL |
VÆLG * FRA tabel1 HVOR t2_nummer IKKE ER NULL; | Eksempel på ER IKKE NULL |
MySQL AUTO_INCREMENT kommandoer
Kommando | Beskrivelse |
OPRET TABEL tabel1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) STANDARD NULL, t3 varchar (500) STANDARD NULL, PRIMÆR NØGLE (t1_id)); | Automatisk forøgelse af syntaks |
MYSQL - ALTER, DROP, RENAME, MODIFY
Kommando | Beskrivelse |
ALTER TABLE tabelnavn TILFØJ KOLONNE kolonnenavn datatype; | Alter-syntaks |
DROP TABLE sample_table; | DROP TABLE syntaks |
RENAME TABLE nuværende_tabelnavn til nyt_tabelnavn; | OMDØB KOMMANDASyntaks |
ALTER TABEL tabel1 SKIFT KOLONN t1_navne t1navn char (250) IKKE NULL; | SKIFT KEYWORD |
ALTER TABEL tabel1MODIFICER t1navn char (50) IKKE NULL; | ÆNDR Nøgleord |
ALTER TABEL tabel1 TILFØJ t4 dato NULL EFTER t3; | EFTER Nøgleord |
MySQL LIMIT & OFFSET
Kommando | Beskrivelse |
VÆLG {feltnavn (er) | *} FRA tabel (r) [WHERE betingelse] GRÆNSE N; | LIMIT nøgleordssyntaks |
VÆLG * FRA tabel1 GRÆNSE 1, 2; | OFF SET i LIMIT-forespørgslen |
MySQL SubQuery-kommandoer:
Kommando | Beskrivelse |
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); | underforespørgsler |
MySQL JOINS-kommandoer
Kommando | Beskrivelse |
VÆLG * FRA tabel1 CROSS JOIN-tabel2 | Kryds JOIN |
VÆLG tabel1.t1, tabel1.t2, tabel2.t1 FRA tabel1, tabel2 HVOR tabel2.id = tabel1.tabel2_id | INDRE MEDLEM |
VÆLG A.t1, B.t2, B.t3 FRA tabel2 SOM EN VENSTRE FORENING tabel1 AS B PÅ B.tabel2_id = A.id | VENSTRE MEDLEM |
VÆLG A.t1, A.t2, B.t3 FRA tabel1 SOM EN HØJRE FORENING tabel2 AS B ON B.id = A.table2_id | Højre tilslutning |
VÆLG A.t1, B.t2, B.t3 FRA tabel2 SOM EN VENSTRE SAMLING tabel1 SOM B BRUGER (tabel2_id) | "ON" og "USING" klausuler |
MySQL UNION-kommandoer
Kommando | Beskrivelse |
VÆLG kolonne1, kolonne2 FRA tabel1 | UNION-syntaks |
VÆLG kolonne1, kolonne2 FRA tabel2; | UNION DISTINCT |
MySQL i Views-kommandoer
Kommando | Beskrivelse |
CREATE VIEW view_name AS SELECT-sætning; | Visningssyntaks |
DROP VIEW general_v_movie_rentals; | Faldende synspunkter |
MySQL-indekskommandoer
Kommando | Beskrivelse |
CREATE INDEX id_index ON table_name (column_name); | Tilføj indeks grundlæggende syntaks |
DROP INDEX index_id ON tabelnavn; | Slip indeks grundlæggende syntaks |