Eine vollständige Liste häufig verwendeter MySQL-Funktionen (klassifiziert und zusammengefasst)

Eine vollständige Liste häufig verwendeter MySQL-Funktionen (klassifiziert und zusammengefasst)

1. Mathematische Funktionen

  • ABS(x) gibt den Absolutwert von x zurück.
  • BIN(x) gibt den Binärwert von x zurück (OCT gibt Oktal zurück, HEX gibt Hexadezimal zurück)
  • CEILING(x) gibt den kleinsten ganzzahligen Wert zurück, der größer als x ist.
  • EXP(x) gibt den Wert e (die Basis des natürlichen Logarithmus) hoch x zurück.
  • FLOOR(x) gibt den größten ganzzahligen Wert zurück, der kleiner als x ist.
  • GREATEST(x1,x2,...,xn) gibt den größten Wert in einer Menge zurück
  • LEAST(x1,x2,...,xn) gibt den kleinsten Wert in einer Menge zurück
  • LN(x) gibt den natürlichen Logarithmus von x zurück
  • LOG(x,y) gibt den Logarithmus von x zur Basis y 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. Sie können einen Parameter (Seed) angeben, damit der Zufallszahlengenerator RAND() einen bestimmten Wert generiert.
  • ROUND(x,y) gibt den auf y Dezimalstellen gerundeten Wert des Parameters x zurück.
  • SIGN(x) gibt den Wert zurück, der das Vorzeichen der Zahl x darstellt
  • SQRT(x) gibt die Quadratwurzel einer Zahl zurück
  • TRUNCATE(x,y) gibt das Ergebnis der Kürzung der Zahl x auf y Dezimalstellen zurück.

2. Aggregatfunktionen (häufig in SELECT-Abfragen in GROUP BY-Klauseln verwendet)

  • AVG(col) gibt den Durchschnittswert der angegebenen Spalte zurück
  • COUNT(col) gibt die Anzahl der Nicht-NULL-Werte in der angegebenen Spalte zurück
  • MIN(col) gibt den Minimalwert der angegebenen Spalte zurück
  • MAX(col) gibt den Maximalwert der angegebenen Spalte zurück
  • SUM(col) gibt die Summe aller Werte in der angegebenen Spalte zurück
  • GROUP_CONCAT(col) gibt das Ergebnis der Verkettung der Werte von Spalten zurück, die zu einer Gruppe gehören

Zeichenfolgenfunktionen

  • ASCII(char) gibt den ASCII-Codewert eines Zeichens zurück
  • BIT_LENGTH(str) Gibt die Bitlänge des Strings zurück
  • CONCAT(s1,s2...,sn) verkettet s1,s2...,sn zu einem String
  • CONCAT_WS(sep,s1,s2...,sn) verkettet s1,s2...,sn zu einem String und trennt diese mit dem Zeichen sep
  • INSERT(str,x,y,instr) ersetzt den Teilstring des Strings str ab Position x und y Zeichen lang durch den String instr und gibt das Ergebnis zurück
  • FIND_IN_SET(str,list) analysiert die durch Kommas getrennte Liste und gibt, wenn str gefunden wird, die Position von str in der Liste zurück.
  • LCASE(str)或LOWER(str) gibt das Ergebnis der Änderung aller Zeichen in der Zeichenfolge str in Kleinbuchstaben zurück.
  • LEFT(str,x) gibt die x Zeichen ganz links im String str zurück.
  • LENGTH(s) gibt die Anzahl der Zeichen im String str zurück
  • LTRIM(str) entfernt führende Leerzeichen aus dem String str
  • POSITION(substr,str) gibt die Position des ersten Vorkommens des Teilstrings substr im String str zurück.
  • QUOTE(str) maskiert das einfache Anführungszeichen in str mit einem Backslash
  • REPEAT(str,srchstr,rplcstr) gibt das Ergebnis der x-mal wiederholten Zeichenfolge str zurück.
  • REVERSE(str) gibt das Ergebnis der Umkehrung des Strings str zurück.
  • RIGHT(str,x) gibt die x Zeichen ganz rechts im String str zurück.
  • RTRIM(str) gibt die Leerzeichen am Ende des Strings str zurück.
  • STRCMP(s1,s2) vergleicht die Zeichenfolgen s1 und s2
  • TRIM(str) entfernt alle Leerzeichen am Anfang und Ende eines Strings
  • UCASE(str) oder UPPER(str) gibt das Ergebnis der Konvertierung aller Zeichen in der Zeichenfolge str in Großbuchstaben zurück.

IV. Datums- und Zeitfunktionen

  • CURDATE() oder CURRENT_DATE() gibt das aktuelle Datum zurück
  • CURTIME() oder CURRENT_TIME() gibt die aktuelle Zeit zurück
  • DATE_ADD(date,INTERVAL int keyword) gibt das Ergebnis der Addition des Datums date zur Intervallzeit int zurück (int muss entsprechend dem Schlüsselwort formatiert sein), z. B.: SELECTDATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH);
  • DATE_FORMAT(date,fmt) formatiert den Datumswert entsprechend dem angegebenen fmt-Format
  • DATE_SUB(date,INTERVAL int keyword) gibt das Ergebnis von date plus interval int zurück (int muss entsprechend dem Schlüsselwort formatiert sein), wie zum Beispiel: SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);
  • DAYOFWEEK(date) gibt den durch das Datum dargestellten Wochentag zurück (1~7)
  • DAYOFMONTH(date) gibt den Tag des Monats zurück (1~31)
  • DAYOFYEAR(date) gibt den Tag des Jahres zurück (1~366)
  • DAYNAME(date) gibt den Wochentag des Datums zurück, z. B.: SELECT DAYNAME(CURRENT_DATE);
  • FROM_UNIXTIME(ts,fmt) formatiert den UNIX-Zeitstempel ts entsprechend dem angegebenen fmt-Format
  • 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 zurück (1~12)
  • MONTHNAME(date) gibt den Monatsnamen des Datums zurück, z. B.: SELECT MONTHNAME(CURRENT_DATE);
  • NOW() gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
  • QUARTER(date) gibt das Quartal (1–4) des Datums in einem Jahr zurück, z. B. SELECT QUARTER(CURRENT_DATE);
  • WEEK(date) gibt die Woche des Jahres (0~53) des Datums zurück
  • YEAR(date) gibt das Jahr des Datums zurück (1000~9999)

Einige Beispiele:

Aktuelle Systemzeit ermitteln:

Wählen Sie aus UNIXTIME (UNIX_TIMESTAMP ();
Wählen Sie Extrahieren (Jahr_Monat vom aktuellen Datum);
Wählen Sie Extrahieren (Tag_Sekunde vom aktuellen Datum);
Wählen Sie Extrahieren (Stunde_Minute vom aktuellen Datum);

Gibt die Differenz (in Monaten) zwischen zwei Datumswerten zurück:

Wählen Sie Periodendifferenz (200302,199802);

Alter in Mysql berechnen:

SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)),'%Y')+0 AS age FROM employee;

Wenn der Geburtstag also in der Zukunft liegt, ist das Ergebnis 0.

Die folgende SQL-Anweisung berechnet das absolute Alter eines Mitarbeiters. Das bedeutet, dass ein negativer Wert erhalten wird, wenn der Geburtstag in der Zukunft liegt.

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(Geburtstag, '%Y') -(DATE_FORMAT(NOW(), '00-%m-%d') <DATE_FORMAT(Geburtstag, '00-%m-%d')) AS Alter vom Mitarbeiter

5. Verschlüsselungsfunktion

  • AES_ENCRYPT(str,key) gibt das Ergebnis der Verschlüsselung der Zeichenfolge str unter Verwendung des Advanced Encryption Standard-Algorithmus mit dem Schlüssel key zurück. Das Ergebnis des Aufrufs von AES_ENCRYPT ist eine binäre Zeichenfolge, die im BLOB-Typ gespeichert ist.
  • AES_DECRYPT(str,key) gibt das Ergebnis der Entschlüsselung des Strings str unter Verwendung des Advanced Encryption Standard-Algorithmus mit dem Schlüssel key zurück.
  • DECODE(str,key) verwendet key als Schlüssel zum Entschlüsseln des verschlüsselten Strings str
  • ENCRYPT(str,salt) verwendet die Funktion UNIXcrypt(), um den String str mit dem Schlüsselwort salt zu verschlüsseln (ein String, der das Passwort eindeutig identifizieren kann, wie ein Schlüssel).
  • ENCODE(str,key) verwendet key als Schlüssel zum Verschlüsseln der Zeichenfolge str. Das Ergebnis des Aufrufs von ENCODE() ist eine binäre Zeichenfolge, die im Typ BLOB gespeichert ist.
  • MD5() Berechnet die MD5-Prüfsumme des Strings 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:

Wählen Sie Encrypt('root', 'salt');
SELECT ENCODE('xufeng','Schlüssel');
SELECT DECODE(ENCODE('xufeng','key'),'key');#Zusammen verschlüsseln und entschlüsseln SELECT AES_ENCRYPT('root','key');
Wählen Sie AES_DECRYPT (AES_ENCRYPT ('root', 'Schlüssel'), 'Schlüssel');
Wählen Sie MD5('123456');
Wählen Sie SHA('123456');

6. Kontrollflussfunktionen

MySQL verfügt über vier Funktionen für bedingte Operationen. Diese Funktionen können bedingte SQL-Logik implementieren, sodass Entwickler einen Teil der Anwendungsgeschäftslogik in das Datenbank-Backend konvertieren können.

MySQL-Kontrollflussfunktionen:

  • CASE WHEN[test1] THEN [result1]...ELSE [default] END Wenn testN wahr ist, dann gib resultN zurück, andernfalls gib default zurück
  • CASE [test] WHEN[val1] THEN [result]...ELSE [default]END Wenn test und valN gleich sind, wird resultN zurückgegeben, andernfalls wird default zurückgegeben.
  • IF(test,t,f) Wenn der Test wahr ist, gib t zurück, andernfalls gib f zurück
  • IFNULL(arg1,arg2) Wenn arg1 nicht null ist, gib arg1 zurück, andernfalls gib arg2 zurück
  • NULLIF(arg1,arg2) gibt NULL zurück, wenn arg1=arg2; andernfalls wird arg1 zurückgegeben.

Die erste dieser Funktionen ist IFNULL() , die zwei Argumente annimmt und eine Prüfung des ersten Arguments durchführt. Wenn der erste Parameter nicht NULL ist, gibt die Funktion den ersten Parameter an den Anrufer zurück; wenn er NULL ist, gibt sie den zweiten Parameter zurück.

Beispiel: SELECT IFNULL(1,2), IFNULL(NULL,10),IFNULL(4*NULL,'false');

Die Funktion NULLIF() prüft, ob die beiden angegebenen Parameter gleich sind. Wenn sie gleich sind, wird NULL zurückgegeben. Wenn sie nicht gleich sind, wird der erste Parameter zurückgegeben.

Beispiel: SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1);

Wie die IF() -Funktion vieler Skriptsprachen kann auch die IF()-Funktion von MySQL einen einfachen Bedingungstest durchführen. Diese Funktion hat drei Parameter. Der erste ist der zu beurteilende Ausdruck. Wenn der Ausdruck wahr ist, gibt IF() den zweiten Parameter zurück. Wenn er falsch ist, gibt IF() den dritten Parameter zurück.

Beispiel: SELECTIF(1<10,2,3),IF(56>100,'true','false');

IF() -Funktion ist geeignet, wenn nur zwei mögliche Ergebnisse vorhanden sind. In der realen Welt stellen wir jedoch möglicherweise fest, dass wir in einem bedingten Test mehrere Verzweigungen benötigen. In diesem Fall stellt MySQL die CASE-Funktion bereit, die mit der bedingten switch-case -Routine in den Sprachen PHP und Perl identisch ist.

Das Format der CASE-Funktion ist etwas komplex und sieht im Allgemeinen folgendermaßen aus:

CASE [Auszuwertender Ausdruck]
WANN [Wert 1] DANN [Ergebnis 1]
WANN [Wert 2] DANN [Ergebnis 2]
WANN [Wert 3] DANN [Ergebnis 3]
......
WANN [Wert n] DANN [Ergebnis n]
ELSE [Standardergebnis]
ENDE

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 dieser wahr ist, wird das Ergebnis zurückgegeben. Alle WHEN-THEN-Blöcke enden mit dem ELSE-Block. Wenn END alle äußeren CASE-Blöcke beendet und keiner der vorherigen Blöcke übereinstimmt, wird das vom ELSE-Block angegebene Standardergebnis zurückgegeben. Wenn kein ELSE-Block angegeben ist und alle WHEN-THEN-Vergleiche nicht wahr sind, gibt MySQL NULL zurück.

Die CASE-Funktion hat eine andere Syntax, die manchmal sehr praktisch zu verwenden ist:

FALL
WANN [bedingter Test 1] DANN [Ergebnis 1]
WANN [bedingter Test 2] DANN [Ergebnis 2]
ELSE [Standardergebnis]
ENDE

In diesem Fall hängt das zurückgegebene Ergebnis davon ab, ob der entsprechende bedingte Test wahr ist.

Beispiel:

mysql>SELECT CASE 'grün'
   WENN „rot“ DANN „Stopp“
   WENN „grün“, DANN „los“ ENDE;
AUSWÄHLEN: FALL 9, WENN 1, DANN ‚a‘, WENN 2, DANN ‚b‘, SONST ‚N/A‘, ENDE;
FALL AUSWÄHLEN, WENN (2+2)=4, DANN ‚OK‘, WENN (2+2)<>4, DANN ‚nicht OK‘, ENDE ASSTATUS;
SELECT Name,IF((IsActive = 1),'Aktiviert','Nicht aktiviert') AS RESULT FROMUserLoginInfo;
SELECT fname,lname,(math+sci+lit) AS insgesamt,
FALL, WENN (Mathematik+Wissenschaft+Literatur) < 50, DANN ‚D‘
WENN (Mathematik+Wissenschaft+Literatur) ZWISCHEN 50 UND 150, DANN „C“
WENN (Mathematik+Wissenschaft+Literatur) ZWISCHEN 151 UND 250, DANN 'B'
SONST 'A' ENDE
ALS Note VON Noten;
SELECT IF(ENCRYPT('sue','ts')=upass,'allow','deny') AS LoginResultFROM users WHERE uname = 'sue';#Eine Anmeldeüberprüfung

7. Formatierungsfunktion

  • DATE_FORMAT(date,fmt) formatiert den Datumswert entsprechend der Zeichenfolge fmt
  • FORMAT(x,y) formatiert x als eine durch Kommas getrennte Zahlenfolge, y ist die Anzahl der Dezimalstellen im Ergebnis
  • INET_ATON(ip) gibt die digitale Darstellung der IP-Adresse zurück
  • INET_NTOA(num) gibt die IP-Adresse zurück, die durch die Nummer dargestellt wird
  • TIME_FORMAT(time,fmt) formatiert den Zeitwert entsprechend der Zeichenfolge fmt

Die einfachste davon ist die Funktion FORMAT() , die große Zahlen in eine leicht lesbare, durch Kommas getrennte Sequenz formatiert.

Beispiel:

FORMAT AUSWÄHLEN(34234.34323432,3);
Wählen Sie Datumsformat (JETZT (), '% W, % D % M % Y % r');
Wählen Sie Datumsformat (JETZT (), '% Y-% m-% d');
Wählen Sie Datumsformat (19990330, '% Y-% m-% d');
Wählen Sie Datumsformat (JETZT (), '% h: %i % p');
AUSWÄHLEN INET_ATON('10.122.89.47');
WÄHLEN SIE INET_NTOA(175790383);

8. Typkonvertierungsfunktion

Um eine Datentypkonvertierung durchzuführen, stellt MySQL die Funktion CAST() bereit, die einen Wert in einen angegebenen Datentyp konvertieren kann. Typen: BINARY , CHAR , DATE , TIME , DATETIME , SIGNED , UNSIGNED

Beispiel:

Wählen Sie CAST (JETZT() als vorzeichenbehaftete Ganzzahl), CURDATE()+0;
Wählen Sie 'f' = BINARY 'F', 'f' = CAST('F' AS BINARY);

9. Systeminformationsfunktion

  • DATABASE() gibt den Namen der aktuellen Datenbank zurück
  • BENCHMARK(count,expr) wiederholt den Ausdruck Ausdruck Anzahl mal
  • CONNECTION_ID() gibt die Verbindungs-ID des aktuellen Clients zurück
  • FOUND_ROWS() gibt die Gesamtzahl der Zeilen zurück, die von der letzten SELECT-Abfrage abgerufen wurden.
  • USER()或SYSTEM_USER() gibt den aktuell angemeldeten Benutzernamen zurück
  • VERSION() gibt die Version des MySQL-Servers zurück

Beispiel:

DATENBANK AUSWÄHLEN(),VERSION(),BENUTZER();
SELECTBENCHMARK(9999999,LOG(RAND()*PI()));#In diesem Beispiel berechnet MySQL den Ausdruck LOG(RAND()*PI()) 9999999-Mal.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Gespeicherte MySQL-Prozeduren und allgemeine Funktionscodeanalyse
  • Zusammenfassung der allgemeinen MySQL-Funktionen
  • Zusammenfassung gängiger MySQL-Funktionsbeispiele [Aggregatfunktionen, Zeichenfolgen, Zahlen, Zeit- und Datumsverarbeitung usw.]
  • Allgemeine Funktionen in MySQL
  • Zusammenfassung häufig verwendeter MySQL-Funktionen (Freigabe)
  • Detaillierte Zusammenfassung häufig verwendeter MySQL-Funktionen

<<:  Eine kurze Diskussion über die Ausführungsreihenfolge von JavaScript-Makrotasks und Mikrotasks

>>:  Tutorial zur Installation von Pycharm und Ipython unter Ubuntu 16.04/18.04

Artikel empfehlen

Detaillierte Erläuterung der MySQL-Remoteverbindungsberechtigung

1. Melden Sie sich bei der MySQL-Datenbank an mys...

Beispiel zum schnellen Löschen einer 2T-Tabelle in MySQL in Innodb

Vorwort Dieser Artikel stellt hauptsächlich den r...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

1. Offizielle Einführung grep ist ein häufig verw...

Verschieben Sie die MySQL-Datenbank unter Windows auf eine andere Festplatte

Vorwort Heute habe ich MySQL installiert und fest...

VScode Remote SSH-Remote-Bearbeitung und -Debugging von Code

Die neueste Insider-Version von Visual Studio Cod...

Schnelles Verständnis und Beispielanwendung der Vuex-Zustandsmaschine

Inhaltsverzeichnis 1. Schnelles Verständnis von K...

Detailliertes Tutorial zur Installation des Tomcat9-Windows-Dienstes

1. Vorbereitung 1.1 Laden Sie das komprimierte To...

Implementierung einer Fuzzy-Abfrage wie %% in MySQL

1, %, steht für beliebige 0 oder mehr Zeichen. Es...

MySQL 5.7.10 Installationsdokumentation Tutorial

1. Installieren Sie Abhängigkeitspakete yum -y in...

Vollständiger Prozessbericht der Nginx-Reverse-Proxy-Konfiguration

1. Vorbereitung Installieren Sie Tomcat auf dem L...

So bewerben Sie sich für Webdesign-Jobs

<br />Hallo zusammen! Es ist mir eine Ehre, ...

Detaillierte Erklärung des DOM DIFF-Algorithmus in der React-Anwendung

Inhaltsverzeichnis Vorwort Was ist VirtualDOM? Gr...