I dette SQL Query-juksearket vil du lære
Lag database- og tabellkommandoer
Kommando | Beskrivelse |
OPPRETT DATABASE DATABASE; | Opprett database |
OPPRETT DATABASE IKKE FINNER database1; | HVIS IKKE EKSISTER, kan du instruere MySQL-serveren om å kontrollere eksistensen av en database med et lignende navn før du oppretter en database. |
OPPRETT DATABASE HVIS IKKE eksisterer database1 KARAKTERSETT latin1 SAMLING latin1_swedish_ci | Latin1-tegnsettet bruker latin1_swedish_ci-sorteringen som er den svenske store og små bokstaver. |
VIS DATABASER | Du kan se listen over eksisterende databaser ved å kjøre følgende SQL-kommando. |
OPPRETT TABELL [HVIS IKKE eksisterer] Tabellnavn (feltnavn datatype [valgfrie parametere]) MOTOR = lagringsmotor; | Lag tabellsyntaks |
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. |
STOR () | -9223372036854775808 til 9223372036854775807 normal 0 til 18446744073709551615 UNSIGNED. |
FLYTE | Et lite omtrentlig tall med et flytende desimaltegn. |
DOBBELT (,) | Et stort tall med et flytende desimaltegn. |
DESIMAL( , ) | EN DOBBEL lagret som en streng, noe som gir et fast desimaltegn. Valg for lagring av valutaverdier. |
Tekstdatatyper
Kommando | Beskrivelse |
CHAR () | En fast seksjon på fra 0 til 255 tegn. |
VARCHAR () | En variabel seksjon fra 0 til 255 tegn. |
TINYTEXT | En streng med en maksimal lengde på 255 tegn. |
TEKST | En streng med en maksimal lengde på 65535 tegn. |
BLOB | En streng med en maksimal lengde på 65535 tegn. |
MEDIUMTEXT | En streng med en maksimal lengde på 16777215 tegn. |
MEDIUMBLOB | En streng med en maksimal lengde på 16777215 tegn. |
LONGTEXT | En streng med en maksimal lengde på 4294967295 tegn. |
LONGBLOB | En streng med en maksimal lengde på 4294967295 tegn. |
Datatyper for dato / tid
Kommando | Beskrivelse |
DATO | ÅÅÅÅ-MM-DD |
DATO TID | ÅÅÅÅ-MM-DD HH: MM: SS |
TIDSTEMPEL | ÅÅÅÅMMDDHHMMSS |
TID | HH: MM: SS |
Andre datatyper
Kommando | Beskrivelse |
ENUM | For å lagre tekstverdi valgt fra en liste over forhåndsdefinerte tekstverdier. |
SETT | Dette brukes også til å lagre tekstverdier valgt fra en liste over forhåndsdefinerte tekstverdier. Det kan ha flere verdier. |
BOOL | Synonym for TINYINT (1), brukes til å lagre boolske verdier |
BINAR | I likhet med CHAR er forskjellen at tekster lagres i binært format. |
VARBINÆR | I likhet med VARCHAR er forskjellen at tekster lagres i binært format. |
MySQL SELECT-kommandoen
Kommando | Beskrivelse |
VELG [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FRA tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) | SQL SELECT-setningssyntaks |
VELG * FRA tabell1; | velg tabellen |
VELG t1, t2, t3, t4 FRA tabell1; | vi er bare interessert i å få bare feltene t1, t2, t3 og t4. |
VELG Concat (t1, (, t3,)), t4 FRA tabell2; | Få tabell2-oppføring |
VELG kolonnenavn | verdi | uttrykk [AS] aliasnavn; | Alias-feltnavn syntaksen |
MySQL WHERE klausul med AND, OR, IN, NOT IN kommandoer
Kommando | Beskrivelse |
VELG * FRA tabellnavn HVOR tilstand; | WHERE klausul Syntaks |
VELG * FRA tabell1 HVOR t1 = 2 OG t2 = 2008; | WHERE klausul kombinert med - OG LOGISK operatør |
VELG * FRA tabell1 HVOR t1 = 1 ELLER t1 = 2; | WHERE klausul kombinert med - ELLER LOGISK operatør |
VELG * FRA tabell2 HVOR t1 IN (1,2,3); | WHERE klausul kombinert med - IN Keyword |
VELG * FRA tabell2 HVOR t1 IKKE INN (1,2,3); | WHERE klausul kombinert med - NOT IN Keyword |
VELG * FRA tabell2 HVOR t3 = Kvinne; | WHERE klausul kombinert med Equal (=) til COMPARISON OPERATORS |
VELG * FRA tabell3 HVOR t3> 2000; | WHERE klausul kombinert med større enn (>) til COMPARISON OPERATORS |
VELG * FRA tabell1 HVOR t1 <> 1; | WHERE klausul kombinert med Ikke lik (<>) SAMMENLIGNINGSOPERATØRER |
MySQL Command INSERT INTO Table
Kommando | Beskrivelse |
INSERT INTO table_name (column_1, column_2,…) VALUES (value_1, value_2,…); | grunnleggende syntaks for SQL INSERT-kommandoen |
INSERT INTO table1 (t1, t2, t3, t4) VALUES (X1, X2, X3, X4); | Sett inn data i tabellen |
INSERT INTO table_1 VELG * FRA table_2; | Sette inn i en tabell fra en annen tabell |
MySQL DELETE-kommando
Kommando | Beskrivelse |
SLETT FRA tabellnavn [WHERE condition]; | Slett en rad i MySQL |
Eksempel: - SLETT FRA table1 WHERE table1_id = 18;
(slett oppføring av 18 nummer id skjema tabell1.) SLETT FRA tabell1 HVOR tabell1_id IN (20,21); (slett oppføring av 20 og 21 nummer-ID-skjema tabell1)
MySQL Update Command
Kommando | Beskrivelse |
UPDATE table_name SET column_name = new_value [WHERE condition]; | oppdater kommandosyntaks |
Eksempel: - VELG * FRA tabell1 HVOR t1 = 1;
(hente posten for t1 = 1) UPDATE-tabell1 SETT4 = X1 WHERE t1 = 1; (oppdater t4-verdien i tabellen)
BESTILLE I MySQL: DESC & ASC-kommando
Kommando | Beskrivelse |
SELECT-setning ... [WHERE condition | GROUP BY feltnavn (er) HAR betingelse] BESTILL AV Feltnavn (er) [ASC | DESC]; | Ordne etter paragraf grunnleggende syntaks |
VELG {feltnavn (er) | *} FRA tabellnavn (er) [WHERE condition] ORDER BY fieldname (s) ASC / DESC [LIMIT N] | DESC og ASC syntaks |
Eksempel: - For DESC (synkende)
VELG * FRA tabell1 BESTILLE PÅ t3 DESC; For ASC (stigende) VELG * FRA tabell1 BESTILLE AV t3 ASC;
MySQL GROUP BY og HAR Klausul-kommandoen
Gruppe av
Kommando | Beskrivelse |
VELG utsagn… GROUP BY column_name1 [, column_name2,…] [HAVING condition]; | GROUP BY Syntaks |
Eksempel for gruppering av en enkelt kolonne: - VELG t4 FRA tabell1;
VELG t4 FRA tabell1 GRUPP AV t4; (antar at vi ønsker å få de unike verdiene for t4.)
Eksempel for gruppering av flere kolonner: - VELG t1_id, t4 FRA tabell2;
VELG t1_id, t4 FRA tabell2 GROUP BY t1_id, t4; (bruker gruppe etter metode)
Gruppering og samlede funksjoner
Kommando | Beskrivelse |
VELG t2, TELLE (t1) FRA tabell1 GRUPPE T2; | Anta at vi vil ha totalt antall t2-kolonneverdier i databasen vår. |
HAR klausul
Kommando | Beskrivelse |
VELG * FRA table2 GROUP BY t1_id, t4 HAR T1_id = x1; | alle t4 for tabell2 t1 id x1. Vi bruker følgende skript for å oppnå resultatene. |
MySQL Wildcards-kommandoer for Like, NOT Like, Escape, (%), (_)
% prosentandelen jokertegn kommandert i MySQL
Kommando | Beskrivelse |
VELG utsagn… HVOR feltnavn LIKE xxx%; | grunnleggende syntaks for% prosent jokertegn |
Eksempel: - vi bruker prosentvis jokertegn til å utføre en mønsterkamp på begge sider av ordet "X1" som del t2 i tabell1 VELG * FRA tabell1 HVOR t2 LIKE% X1%;
VELG * FRA tabell1 HVOR t2 LIKE% X1; (kun prosentandelen jokertegn i begynnelsen av søkekriteriene) VELG * FRA tabell1 HVOR t2 LIKER X1%; (prosentvis jokertegn til slutten av det angitte mønsteret som skal matches.)
_ understreker jokertegnkommandoen
Kommando | Beskrivelse |
VELG * FRA tabell1 HVOR t3 LIKE x2_; | hele tabellen1 som var t3 i året "x2" |
IKKE som jokertegnkommando
Kommando | Beskrivelse |
VELG * FRA tabell1 HVOR t3 IKKE LIKER X2_; | Anta at vi ønsker å få tabell1 som ikke var t3 i året X2_ |
Unnslippe søkeordet jokertegnkommando
Kommando | Beskrivelse |
LIKE 67 # %% ESCAPE #; | vi vil se etter strengen "67%" |
MYSQL Regular Expressions (REGEXP)
Kommando | Beskrivelse |
VELG utsagn… HVOR feltnavn REGEXP mønster; | grunnleggende syntaks for vanlig uttrykk |
Eksempel: - hele tabellen1 t1 som har ordet X1. Det spiller ingen rolle om "X1" er i begynnelsen, midten eller slutten av tittelen. VELG * FRA tabell1 HVOR t1 REGEXP X1;
Vanlige uttrykk Metategn
Kommando | Beskrivelse |
* | Asterisk (*) metakarakter brukes til å matche null (0) eller flere forekomster av strengene foran den |
+ | Pluss (+) metakarakter brukes til å matche en eller flere forekomster av strenger som er forut for den. |
? | Spørsmålet (?) Metakarakter brukes til å matche null (0) eller ett tilfelle av strengene som er forut for det. |
. | Punktet (.) Metategn brukes til å matche et enkelt tegn, unntatt en ny linje. |
[abc] | Charlisten [abc] brukes til å matche noen av de vedlagte tegnene. |
[^abc] | Charlisten [abc] brukes til å matche alle tegn unntatt de vedlagte. |
[A-Z] | [AZ] brukes til å matche alle store bokstaver |
[a-z] | [Az] brukes til å matche små bokstaver |
[0-9] | [0-9] brukes til å matche et hvilket som helst siffer fra 0 til 9. |
^ | Innskuddet (^) brukes til å starte kampen i begynnelsen. |
| | Den vertikale linjen (|) brukes til å isolere alternativer. |
[[:<:]] | [[: <:]] Samsvarer med begynnelsen av ord. |
[[:>:]] | [[:::]] Samsvarer med slutten av ordene. |
[:class:] | [: Klasse:] samsvarer med en tegnklasse, dvs. [: alfa:] for å matche bokstaver, [: mellomrom:] for å matche hvite mellomrom, [: punkt::] er samsvarstegn og [: øvre:] for overklassebokstaver. |
SQL Funksjonskommandoer
Strengfunksjoner
Kommando | Beskrivelse |
VELG t1_id, t2, UCASE (t2) FRA tabell1; | "UCASE" -funksjonen for å gjøre det. Det tar en streng som parameter og konverterer alle bokstavene til store bokstaver. |
Numeriske funksjoner
Kommando | Beskrivelse | Eksempel |
DIV | Heltall divisjon | VELG 23 DIV 6; |
/ | Inndeling | VELG 23/6; |
- | Subtraksjon | VELG 23 - 6; |
+ | Addisjon | VELG 23 + 6; |
* | Multiplikasjon | VELG 23 * 6 AS multiplikasjonsresultat; |
% or MOD | Modulus | VELG 23% 6; eller VELG 23 MOD 6; |
Floor | denne funksjonen fjerner desimalplasser fra et tall og avrunder det til nærmeste laveste tall. | VELG GULV (23/6) AS etasjeresultat; |
Round | denne funksjonen avrunder et tall med desimaler til nærmeste hele tall. | VELG RUND (23/6) SOM runde-resultat; |
Lagrede funksjoner
Kommando | Beskrivelse |
OPPRETT FUNKSJON sf_name ([parameter (er)]) RETURER datatype DETERMINISTISKE UTTALELSER | grunnleggende syntaks for å lage en lagret funksjon |
OPPRETT FUNKSJON sf_name ([parameter (er)]) | Obligatorisk og forteller MySQL-serveren å opprette en funksjon med navnet 'sf_name' med valgfrie parametere definert i parentes. |
RETURER datatypen | Obligatorisk og spesifiserer datatypen som funksjonen skal returnere. |
DETERMINISTISK | Funksjonen vil returnere de samme verdiene hvis de samme argumentene blir gitt til den. |
UTTALELSER | Prosedyrekoden som funksjonen utfører. |
MySQL Aggregate-funksjonskommandoer
Kommando | Beskrivelse |
VELG TELL (t1_id) FRA tabell1 HVOR t1_id = 2; | COUNT-funksjon |
VELG MIN (t3) FRA tabell2; | MIN-funksjon |
VELG MAKS (t3) FRA tabell2; | MAX-funksjon |
VELG SUM (t4) FRA tabell3; | SUM-funksjon |
VELG AVG (t4) FRA tabell3; | AVG-funksjon |
MySQL ER NULL & ER IKKE NULL-kommandoer
Kommando | Beskrivelse |
VELG TELL (t3) FRA tabell1; (hvis t3 har nullverdi tilstede som ikke teller) | Null som en verdi |
CREATE TABLE table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | IKKE NULL Verdier |
comlumn_name IS NULL comlumn_name NOT NULL | NULL Nøkkelord Grunnleggende syntaks |
VELG * FRA tabell1 HVOR t2_nummer ER NULL; | Eksempel på IS NULL |
VELG * FRA tabell1 HVOR t2_nummer IKKE ER NULL; | Eksempel på ER IKKE NULL |
MySQL AUTO_INCREMENT-kommandoer
Kommando | Beskrivelse |
OPPRETT TABELL tabell1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) STANDARD NULL, t3 varchar (500) STANDARD NULL, PRIMÆR NØKKEL (t1_id)); | Automatisk økning av syntaksen |
MYSQL - ALTER, DROP, RENAME, MODIFY
Kommando | Beskrivelse |
ALTER TABLE tabellnavn LEGG TIL KOLONN kolonnenavn datatype; | Alter-syntaks |
DROP TABLE sample_table; | DROP TABLE syntaks |
RENAME TABLE current_table_name TO new_table_name; | RENAME COMMAND-syntaksen |
ALTER TABEL tabell1 ENDRE KOLONN t1_names t1name char (250) IKKE NULL; | ENDRE Nøkkelord |
ALTER TABLE tabell1MODIFISER t1navn char (50) IKKE NULL; | ENDRE NøkkelORD |
ALTER TABELL tabell1 LEGG T4 dato NULL ETTER t3; | ETTER Nøkkelord |
MySQL LIMIT & OFFSET
Kommando | Beskrivelse |
VELG {feltnavn (er) | *} FRA tabellnavn (er) [WHERE condition] LIMIT N; | BEGRENS syntaks for søkeord |
VELG * FRA tabell1 GRENSE 1, 2; | OFF SET i LIMIT-spørringen |
MySQL SubQuery-kommandoer:
Kommando | Beskrivelse |
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); | underspørringer |
MySQL JOINS-kommandoer
Kommando | Beskrivelse |
VELG * FRA tabell1 CROSS JOIN-tabell2 | Kryss JOIN |
VELG table1.t1, table1.t2, table2.t1 FRA table1, table2 WHERE table2.id = table1.table2_id | INNRE MEDLEM |
VELG A.t1, B.t2, B.t3 FRA tabell2 SOM EN VENSTRE JOIN-tabell1 AS B PÅ B.tabell2_id = A.id | VENSTRE BLI MEDLEM |
VELG A.t1, A.t2, B.t3 FRA tabell1 SOM EN HØYRE FORENING tabell2 AS B PÅ B.id = A.table2_id | RIKTIG BLI MED |
VELG A.t1, B.t2, B.t3 FRA tabell2 SOM EN VENSTRE FØRSTE tabell1 SOM B BRUKER (tabell2_id) | "ON" og "USING" klausuler |
MySQL UNION-kommandoer
Kommando | Beskrivelse |
VELG kolonne1, kolonne2 FRA tabell1 | UNION syntaks |
VELG kolonne1, kolonne2 FRA tabell2; | UNION DISTINCT |
MySQL i Views-kommandoer
Kommando | Beskrivelse |
CREATE VIEW view_name AS SELECT setning; | Visningssyntaks |
DROP VIEW general_v_movie_rentals; | Slippende utsikt |
MySQL indeks kommandoer
Kommando | Beskrivelse |
CREATE INDEX id_index ON table_name (column_name); | Legg til indeks grunnleggende syntaks |
DROP INDEX index_id ON table_name; | Slipp indeks grunnleggende syntaks |