Heim > Datenbank > MySQL-Tutorial > Hauptteil

Zusammenfassung der Funktionssammlung der MySQL-Datenbank

迷茫
Freigeben: 2017-03-26 14:06:24
Original
1095 Leute haben es durchsucht

1. Mathematische Funktionen
ABS(x) Gibt den absoluten Wert von x zurück

BIN(x) Gibt die Binärzahl von x zurück (OCT gibt Oktal zurück, HEX gibt Hexadezimal zurück)
CEILING(x) Gibt den kleinsten ganzzahligen Wert größer als x (die Basis einer Zahl) hoch mit x2 zurück ,...,xn) Gibt den kleinsten Wert in der Menge zurück
LN(x) Gibt den natürlichen Logarithmus von x zurück
LOG(x,y) Gibt den Basis-y-Logarithmus von x zurück
MOD (x, y) Gibt den Modul (Rest) von x/y zurück.
PI() gibt den Wert von pi (pi) zurück.
RAND() gibt einen Zufallswert zwischen 0 und 1 zurück, der durch die Bereitstellung eines Parameters bereitgestellt werden kann ( Seed) Veranlasst den Zufallszahlengenerator RAND(), einen angegebenen Wert zu generieren.
ROUND(x,y) gibt den gerundeten Wert des Parameters x mit y Dezimalstellen zurück
SIGN(x) gibt den Wert zurück, der das Vorzeichen der Zahl darstellt >TRUNCATE(x,y) gibt das Ergebnis der Zahl x gekürzt zurück auf y Dezimalstellen


2. Aggregationsfunktion (häufig in SELECT-Abfragen der GROUP BY-Klausel verwendet)

AVG( col) Gibt den Durchschnittswert der angegebenen Spalte
COUNT zurück (col) Gibt die Anzahl der Nicht-NULL-Werte in der angegebenen Spalte zurück
MIN(col) Gibt den Mindestwert der angegebenen Spalte zurück
MAX(col) Gibt den Maximalwert der angegebenen Spalte zurück WertSUM(col) Gibt die Summe aller Werte der angegebenen Spalte zurückGROUP_CONCAT(col) Gibt das Ergebnis zurück, das durch Verketten von Spaltenwerten gebildet wird, die zu einer Gruppe gehören


3. String Funktion

ASCII(char) gibt den ASCII-Codewert des Zeichens zurück
BIT_LENGTH(str) gibt die Bitlänge der Zeichenfolge zurück
CONCAT(s1,s2...,sn) konvertiert s1, s2.. ., sn wird zu einer Zeichenfolge verkettet
CONCAT_WS(sep,s1,s2...,sn) verkettet s1,s2...,sn zu einer Zeichenfolge und wird durch sep-Zeichen getrenntINSERT(str ,x, y,instr) Ersetzen Sie die y Zeichen lange Teilzeichenfolge der Zeichenfolge str beginnend an der Position von str in der ListeLCASE(str) oder LOWER(str) gibt das Ergebnis der Änderung aller Zeichen in der Zeichenfolge str zurück in Kleinbuchstaben umwandeln
LEFT(str,x) gibt das am weitesten links stehende x in der Zeichenkette str zurück
LENGTH(s) gibt die Anzahl der Zeichen in der Zeichenkette str zurück
LTRIM(str) schneidet die führenden Leerzeichen aus der Zeichenkette aus string str
POSITION(substr,str) gibt den Teilstring substr im String zurück. Das erste Vorkommen von str in str
QUOTE(str) Verwenden Sie Backslash, um das einfache Anführungszeichen in str zu maskieren
REPEAT(str, srchstr, rplcstr) Gibt das Ergebnis der x-mal wiederholten Zeichenfolge str zurück
REVERSE (str) Gibt das Ergebnis der Umkehrung der Zeichenfolge str zurück
RIGHT(str,x) Gibt die x Zeichen ganz rechts in der Zeichenfolge str zurück
RTRIM(str ) Gibt das Leerzeichen am Ende der Zeichenfolge str zurück
STRCMP(s1 ,s2) Vergleichen Sie die Zeichenfolgen s1 und s2
TRIM(str) Entfernen Sie alle Leerzeichen am Anfang und Ende der Zeichenfolge
UCASE(str) oder UPPER(str) Gibt alle Zeichen in der Zeichenfolge str zurück, nachdem sie in Großbuchstaben umgewandelt wurden. Ergebnis


4. Datums- und Uhrzeitfunktionen

CURDATE() oder CURRENT_DATE() gibt das aktuelle Datum zurück
CURTIME() oder CURRENT_TIME() gibt die aktuelle Uhrzeit zurück
DATE_ADD(date,INTERVAL int keyword) gibt das Ergebnis von Datum plus Intervallzeit int zurück (int muss entsprechend dem Schlüsselwort formatiert sein), wie zum Beispiel: SELECTDATE_ADD(CURRENT_DATE ,INTERVAL 6 MONTH);
DATE_FORMAT(date,fmt) Entsprechend dem Format des Datumswerts im angegebenen FMT-Format
DATE_SUB(date,INTERVAL int keyword) gibt das Ergebnis von Datum plus Intervallzeit int zurück (int muss formatiert sein entsprechend dem Schlüsselwort), wie zum Beispiel: SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH );DAYOFWEEK(date) Gibt den durch Datum (1~7) dargestellten Wochentag zurückDAYOFMONTH(date) Gibt den Tag von zurück der durch das Datum dargestellte Monat (1~31)
DAYOFYEAR(date) Gibt den Tag des Jahres (1~366) für das Datum zurück. fmt-Format, Format UNIX-Zeitstempel ts
HOUR(time) Gibt den Stundenwert der Zeit zurück (0~23)
MINUTE(time) Gibt den Minutenwert der Zeit zurück (0~59)
MONTH(date ) Gibt den Monatswert des Datums (1~12) zurück
MONTHNAME(date) Gibt den zurück Monatsname des Datums, wie zum Beispiel: SELECT MONTHNAME(CURRENT_DATE);
NOW() Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
QUARTER(date ) Gibt das Datum im Quartal des Jahres (1~4) zurück, wie zum Beispiel SELECT QUARTER(CURRENT_DATE);
WEEK(date) Gibt das Datum als Woche des Jahres zurück (0~53)
YEAR(date ) Gibt das Jahr des Datums zurück (1000~9999)
Einige Beispiele:
Erhalten Sie die aktuelle Systemzeit: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
SELECT EXTRACT(YEAR_MONTH FROM CURRENT_DATE);
SELECT EXTRACT( DAY_SECOND FROM CURRENT_DATE);
SELECT EXTRACT(HOUR_MINUTE FROM CURRENT_DATE);
Gibt die Differenz (Anzahl der Monate) zwischen zwei Datumswerten zurück: SELECT PERIOD_DIFF(200302,199802);
Alter in MySQL berechnen:
SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)),'%Y')+0 AS age FROM Employee;
Auf diese Weise gilt: Wenn Geburtstag das Jahr, den Monat und den Tag in der Zukunft ist, Das Berechnungsergebnis ist 0.
Die folgende SQL-Anweisung berechnet das absolute Alter eines Mitarbeiters, d. h. wenn der Geburtstag ein Datum in der Zukunft ist, erhält er einen negativen Wert.
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(Geburtstag, '%Y') -(DATE_FORMAT(NOW(), '00-%m-%d')
5. Verschlüsselungsfunktion
AES_ENCRYPT(str,key) Gibt das Ergebnis der Verschlüsselung der Zeichenfolge str mit dem Advanced Encryption Standard-Algorithmus unter Verwendung des Schlüssels key zurück und ruft auf AES_ENCRYPT Das Ergebnis ist eine binäre Zeichenfolge, gespeichert im BLOB-Typ
AES_DECRYPT(str,key) Gibt das Ergebnis der Entschlüsselung der Zeichenfolge str mithilfe des Advanced Encryption Standard-Algorithmus unter Verwendung des Schlüssels key
DECODE(str,key) unter Verwendung des Schlüssels zurück Entschlüsseln Sie die verschlüsselte Zeichenfolge str
ENCRYPT(str,salt) als Schlüssel und verwenden Sie das Schlüsselwort salt (eine Zeichenfolge, die das Kennwort eindeutig bestimmen kann, genau wie ein Schlüssel), um die Zeichenfolge str< zu verschlüsseln 🎜>ENCODE (str,key) Verwenden Sie den Schlüssel als Schlüssel zum Verschlüsseln der Zeichenfolge str. Das Ergebnis des Aufrufs von ENCODE() ist eine binäre Zeichenfolge, die im BLOB-Typ
MD5() gespeichert wird. Berechnen Sie die MD5-Prüfsumme von string str
PASSWORD(str) Gibt die verschlüsselte Version der Zeichenfolge str zurück. Dieser Verschlüsselungsprozess ist irreversibel und verwendet einen anderen Algorithmus als der UNIX-Passwortverschlüsselungsprozess.
SHA() Berechnet die Prüfsumme des Secure Hash Algorithm (SHA) der Zeichenfolge str
Beispiel:
SELECT ENCRYPT('root','salt');
SELECT ENCODE('xufeng' ,'key ');
SELECT DECODE(ENCODE('xufeng','key'),'key');#Verschlüsselung und Entschlüsselung zusammen
SELECT AES_ENCRYPT('root','key');
SELECT AES_DECRYPT (AES_ENCRYPT('root','key'),'key');
SELECT MD5('123456');
SELECT SHA('123456');


6. Kontrollflussfunktionen MySQL verfügt über 4 Funktionen zur Durchführung bedingter Operationen. Diese Funktionen können SQL-Bedingungslogik implementieren und es Entwicklern ermöglichen, einige Anwendungsgeschäftslogiken in den Datenbankhintergrund zu konvertieren.
MySQL-Kontrollflussfunktion:
CASE WHEN[test1] THEN [result1]...ELSE [default] END Wenn testN wahr ist, wird resultN zurückgegeben, andernfalls wird der Standardwert zurückgegeben
CASE [test] WHEN[val1 ] THEN [Ergebnis]...ELSE [Standard]END Wenn test und valN gleich sind, geben Sie resultN zurück, andernfalls geben Sie default zurück
IF(test,t,f) Wenn test wahr ist, geben Sie t zurück; andernfalls geben Sie f
zurück IFNULL(arg1,arg2) Wenn arg1 nicht leer ist, geben Sie arg1 zurück, andernfalls geben Sie arg2 zurück
NULLIF(arg1,arg2) Wenn arg1=arg2, geben Sie NULL zurück, andernfalls geben Sie arg1 zurück
Die erste dieser Funktionen ist IFNULL() Es hat zwei Parameter und der erste Parameter wird beurteilt. Wenn der erste Parameter nicht NULL ist, gibt die Funktion den ersten Parameter an den Aufrufer zurück; wenn er NULL ist, wird der zweite Parameter zurückgegeben.
Zum Beispiel: SELECT IFNULL(1,2), IFNULL(NULL,10),IFNULL(4*NULL,'false');
Die NULLIF()-Funktion prüft, ob die beiden bereitgestellten Parameter gleich sind. Wenn gleich, wird NULL zurückgegeben. Wenn nicht, wird der erste Parameter zurückgegeben.
Zum Beispiel: SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1);
Entspricht der IF()-Funktion, die von vielen Skripten bereitgestellt wird Die IF()-Funktion von MySQL kann auch einen einfachen bedingten Test erstellen. Der erste ist der zu beurteilende Ausdruck. Wenn der Ausdruck wahr ist, gibt er den zweiten Parameter zurück () gibt den dritten Parameter zurück.
Zum Beispiel: SELECTIF(1<10,2,3),IF(56>100,'true','false');
Die Funktion IF() eignet sich zur Verwendung, wenn nur zwei möglich sind Ergebnisse. In der realen Welt stellen wir jedoch möglicherweise fest, dass in einem bedingten Test mehrere Zweige erforderlich sind. In diesem Fall stellt MySQL die CASE-Funktion bereit, die mit der bedingten Routine zum Wechseln der Groß- und Kleinschreibung in den Sprachen PHP und Perl identisch ist. Das Format der
CASE-Funktion ist etwas kompliziert und sieht normalerweise wie folgt aus:
CASE [auszuwertender Ausdruck]
WHEN [val 1] THEN [result 1]
WHEN [val 2] THEN [ Ergebnis 2 ]
WHEN [val 3] THEN [result 3]
......
WHEN [val n] THEN [result n]
ELSE [default result]
END
Hier ist der erste Parameter der zu beurteilende Wert oder Ausdruck, gefolgt von einer Reihe von WHEN-THEN-Blöcken. Der erste Parameter jedes Blocks gibt den zu vergleichenden Wert an, und wenn er wahr ist, wird das Ergebnis zurückgegeben. alle Der WHEN-THEN-Block endet mit einem ELSE-Block. Wenn END alle äußeren CASE-Blöcke beendet und nicht alle vorherigen Blöcke übereinstimmen, wird das vom ELSE-Block angegebene Standardergebnis zurückgegeben. wenn nicht Wenn der ELSE-Block angegeben ist und alle WHEN-THEN-Vergleiche falsch sind, gibt MySQL NULL zurück.
CASE-Funktion hat eine andere Syntax, die manchmal sehr praktisch ist, wie folgt:
CASE
WHEN [Bedingungstest 1] THEN [Ergebnis 1]
WHEN [Bedingungstest 2] THEN [Ergebnis 2]
ELSE [Standardergebnis]
END
Unter dieser Bedingung hängt das zurückgegebene Ergebnis davon ab, ob der entsprechende Bedingungstest wahr ist.
Beispiel:
mysql>SELECT CASE 'green'
WENN 'rot', DANN 'stopp'
WENN 'grün', DANN 'gehen' ENDE;
WÄHLEN SIE FALL 9, WENN 1, DANN 'a', WENN 2, DANN 'b', SONST 'N/A' ENDE;
SELECT CASE WHEN (2+2)=4 THEN 'OK' WHEN(2+2)<>4 THEN 'not OK' END ASSTATUS;
SELECT Name,IF((IsActive = 1),'Activated ' ,'nicht aktiviert') AS RESULT FROMUserLoginInfo;
SELECT fname,lname,(math+sci+lit) AS total,
CASE WHEN (math+sci+lit) < 50 THEN 'D'
WENN (Mathe+Naturwissenschaften+Literatur) ZWISCHEN 50 UND 150, DANN „C“
WENN (Mathe+Naturwissenschaften+Literatur) ZWISCHEN 151 UND 250, DANN „B“
SONST „A“ ENDE
AS Note FROM Noten ;
SELECT IF(ENCRYPT('sue','ts')=upass,'allow','deny') AS LoginResultFROM users WHERE uname = 'sue';#Eine Anmeldebestätigung

7. Formatfunktion
DATE_FORMAT(date,fmt) Formatiert den Datumswert gemäß der Zeichenfolge fmt
FORMAT(x,y) Formatiert x in eine durch Kommas getrennte Zahlenfolge, y ist die Zahl Anzahl der Dezimalstellen im Ergebnis
INET_ATON(ip) Gibt die numerische Darstellung der IP-Adresse zurück
INET_NTOA(num) Gibt die durch die Zahl dargestellte IP-Adresse zurück
TIME_FORMAT(time,fmt) Formatiert die Zeit entsprechend die Zeichenfolge fmt time value
Die einfachste davon ist die Funktion FORMAT(), mit der große numerische Werte in eine durch Kommas getrennte, leicht lesbare Sequenz formatiert werden können.
Beispiel:
SELECT FORMAT(34234.34323432,3);
SELECT DATE_FORMAT(NOW(),'%W,%D %M %Y %r');
SELECT DATE_FORMAT(NOW() ,'%Y-%m-%d');
SELECT DATE_FORMAT(19990330,'%Y-%m-%d');
SELECT DATE_FORMAT(NOW(),'%h:%i % p');
SELECT INET_ATON('10.122.89.47');
SELECT INET_NTOA(175790383);

8. Typkonvertierungsfunktion
Zur Durchführung Bei der Datentypkonvertierung stellt MySQL die Funktion CAST() bereit, mit der ein Wert in einen angegebenen Datentyp konvertiert werden kann. Typen sind: BINARY, CHAR, DATE, TIME, DATETIME, SIGNED, UNSIGNED
Beispiel:
SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);

9. Systeminformationsfunktion
DATABASE() Gibt den aktuellen Datenbanknamen zurück
BENCHMARK( count , expr) Wiederholen Sie den Ausdruck expr count mal.
CONNECTION_ID() Gibt die Verbindungs-ID des aktuellen Kunden zurück.
FOUND_ROWS() Gibt die Gesamtzahl der Zeilen zurück, die von der letzten SELECT-Abfrage
USER() oder SYSTEM_USER abgerufen wurden () Aktuellen Login-Benutzernamen zurückgeben
VERSION() Gibt die Version des MySQL-Servers zurück
Beispiel:
SELECT DATABASE(),VERSION(),USER();
SELECTBENCHMARK(9999999,LOG(RAND ()*PI ())); #In diesem Beispiel berechnet MySQL den LOG(RAND()*PI())-Ausdruck 9999999 Mal


Das obige ist der detaillierte Inhalt vonZusammenfassung der Funktionssammlung der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!