Zusammenfassung der allgemeinen Bedienungskenntnisse der MySQL-Datenbank

Zusammenfassung der allgemeinen Bedienungskenntnisse der MySQL-Datenbank

Dieser Artikel fasst gängige Betriebstechniken für MySQL-Datenbanken zusammen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

1. Abfragefelder mit gleichem Namen in unterschiedlichen Tabellen (Tabellenverbindungsabfragebedingungsartefakt)

Verwenden Sie ein Informationsschema.
Wählen Sie * aus Spalten aus, in denen Spaltenname = "Feldname" ist.

2. Gesamtzahl der Abfragedatensätze

Wählen Sie SQL_CALC_FOUND_ROWS * aus der Tabelle, wobei 1 = 1;

Die Gesamtzahl der Datenzeilen kann ermittelt werden

SET @RowCount=gefundene_Zeilen();

3. Paging der Datenabfrage gespeicherter Prozeduren

Vordefinierte Variablen:

/*Fehlercode*/
SETZEN @RetCode='1';
/*Fehlermeldung*/
SETZEN @RetVal='1';
/*Gibt die Anzahl der Zeilen zurück*/
Setzen Sie @RowCount='0';
/*Seitenzahl*/
Setzen Sie @PageCount='0';
/*Anzahl der Anzeigen pro Seite*/
SETZEN Sie @CurrentItem=0;
/*Anzahl der Anzeigen pro Seite*/
SET @PageSize=arg_Seitengröße;
/*Seitenzahl*/
SET @PageCurrent=arg_page_current;
SET @SqlExe='Wählen Sie * aus Tabelle aus, wobei 1=1';
Eingabeparameter: arg_page_size int, arg_page_current int
WENN (@PageCurrent IST NICHT NULL && @PageSize IST NICHT NULL) DANN
SET @CurrentItem = (@PageCurrent-1)*@Seitengröße;
SETZEN @SqlExe=CONCAT(@SqlExe,'LIMIT ', @PageSize,' OFFSET ', @CurrentItem);
ANDERS
SET @SqlExe=CONCAT(@SqlExe,' ');
ENDE, WENN;
Anweisung aus @SqlExe vorbereiten;
Anweisung ausführen;
Freigabe, Vorbereitungs-STMT;
WENN(@RowCount NICHT NULL IST && @RowCount != 0) DANN
WENN(@PageSize ist null)dann
SETZEN Sie @PageSize = @RowCount;
ENDE, WENN;
SET @PageCount = Decke(@Zeilenanzahl/@Seitengröße);
ANDERS
SETZEN @RowCount = 0;
Setzen Sie @PageCount auf 1.
ENDE, WENN;

4. Stringbezogene Operationen

1. Fangen Sie die Zeichenfolge von links ab

links (Str, Länge)

Beschreibung: links (abgeschnittenes Feld, abgeschnittene Länge)

Beispiel:

Wählen Sie links (Inhalt, 200) als abstrakt aus meinem_Inhalt_t

2. Fangen Sie die Zeichenfolge von rechts ab

rechts (Str, Länge)

Beschreibung: rechts (abgeschnittenes Feld, abgeschnittene Länge)

Beispiel:

wähle right(content,200)als abstract aus my_content_t

3. Zeichenfolge abfangen

Teilzeichenfolge (str, pos)

Teilzeichenfolge (Zeichenfolge, Position, Länge)

veranschaulichen:

Teilzeichenfolge (das abgefangene Feld, an dessen Position das Abfangen beginnt)

Teilzeichenfolge (das abgefangene Feld, die Nummer, bei der mit dem Abfangen begonnen werden soll, und die Abfanglänge)

Beispiel:

wähle Teilzeichenfolge (Inhalt, 5) als abstrakt aus meinem_Inhalt_t
Wählen Sie Teilzeichenfolge (Inhalt, 5.200) als Zusammenfassung aus meinem_Inhalt_t

(Hinweis: Wenn die Anzahl der Ziffern eine negative Zahl wie -5 ist, handelt es sich um die Länge von der letzten Ziffer bis zum Ende der Zeichenfolge oder die gekürzte Länge.)

4. Zeichenfolge nach Schlüsselwort abfangen

Teilzeichenfolgenindex (Zeichenfolge, Trennzeichen, Anzahl)

Beschreibung: substring_index (das abgefangene Feld, Schlüsselwort, die Häufigkeit, mit der das Schlüsselwort vorkommt)

Beispiel:

Wählen Sie substring_index("blog.csdn.net",".",2) als Abstract aus my_content_t

Ergebnis:

blog.csdn

(Hinweis: Wenn die Anzahl der Vorkommen eines Schlüsselworts eine negative Zahl wie -2 ist, wird rückwärts bis zum Ende der Zeichenfolge gezählt.)

Funktionseinführung:

SUBSTRING(str,pos) , SUBSTRING(str VON pos) SUBSTRING(str,pos,len) , SUBSTRING(str VON pos FÜR len)

Das Format ohne Längenargument gibt eine Teilzeichenfolge der Zeichenfolge str zurück, beginnend an der Position pos. Das Format mit einem len-Argument gibt eine Teilzeichenfolge mit der Länge len Zeichen aus der Zeichenfolge str zurück, beginnend an der Position pos. Das Format für die Verwendung von FROM ist die Standard-SQL-Syntax. Es ist auch möglich, für pos einen negativen Wert zu verwenden. In diesem Fall beginnt die Position der Teilzeichenfolge beim Pos-Zeichen am Ende der Zeichenfolge und nicht am Anfang der Zeichenfolge. In Funktionen des folgenden Formats kann für „pos“ ein negativer Wert verwendet werden.

MySQL-Zeichenfolgen-Groß-/Kleinschreibung konvertieren

Es gibt zwei Paare von deMySQL-Funktionen zur Konvertierung von Groß- und Kleinschreibung: lower() , uppper() und lcase() , ucase()

mysql>Wählen Sie niedriger aus ('DDD');
Ergebnis: ddd
mysql> wähle oberes Ende('ddd');
Ergebnis: DDD
mysql> wähle lcase('DDD');
Ergebnis: ddd
mysql> wähle ucase('ddd');
Ergebnis: DDD

Normalerweise wähle ich lower() , upper() um die Groß-/Kleinschreibung von Zeichenfolgen zu ändern, da dies mit anderen Datenbankfunktionen kompatibel ist.

5. Zeiterfassungsbezogene Vorgänge

deklariere _LastWeekStartTime date; – Startzeit der letzten Woche deklariere _LastWeekEndTime date; – Endzeit der letzten Woche

-- Da das System den Sonntag als ersten Tag der Woche verwendet, müssen Sie 1 abziehen

setze @A = date_add(curdate(), Intervall -1 Tag);

- Berechnen Sie das Datum des Montags dieser Woche

setze @B = Unterdatum( @A,Datumsformat(@A,'%w')-1);

-- Da das System den Sonntag als ersten Tag der Woche verwendet, müssen wir 2 abziehen, um den letzten Tag der Vorwoche (Samstag der Vorwoche) zu erhalten.

setze @C = date_add(@B, Intervall -2 Tage);
setze _LastWeekStartTime = (Unterdatum( @C,Datumsformat( @C,'%w')-1));
setze _LastWeekEndTime = (date_add(subdate( @C,date_format( @C,'%w')-1), Intervall 6 Tage));

-- Holen Sie sich das aktuelle Datum. 1 ist Sonntag, 2 ist Montag und so weiter.

SET @nowdate=(wählen Sie DAYOFWEEK(NOW()));
SET @NowD=Fall @nowdate
wenn 1 dann 'Sonntag'
wenn 2 dann 'Montag'
wenn 3 dann 'Dienstag'
wenn 4 dann 'Mittwoch'
wenn 5 dann 'Donnerstag'
wenn 6 dann 'Freitag'
wenn 7 dann 'Samstag'
Ende;

-- die Sonntagszeit muss neu berechnet werden

wenn (DATE_FORMAT(CURDATE(),'%w')=0) dann
SET @curmon=(SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')+6));
SETZEN @cursun=(SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')));
anders

-- Startzeit (Montag)

SETZEN @curmon=(SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1));

-- Endzeit (Sonntag)

SETZEN @cursun=(SELECT SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-7));

6. Sortierfähigkeiten

CREATE TABLE-Test (
id INT PRIMARY KEY nicht null auto_increment,
val nvarchar (50) NICHT NULL
);
INSERT INTO test(val) VALUES ('0');
INSERT INTO test(val) VALUES ('1');
INSERT INTO test(val) VALUES ('2');
INSERT INTO test(val) VALUES ('3');
WÄHLEN SIE * aus Test;
-- Passen Sie die Reihenfolge basierend auf der Priorität der ID 2 0 1 3 an. SELECT * FROM test ORDER BY instr('2013',id);
-- Prinzipielles Beispiel SET @ORDBYD='2013';
Wählen Sie '2', instr(@ORDBYD,'2') als `INDEX`
Union
Wählen Sie '0', instr(@ORDBYD,'0') als `INDEX`
Union
Wählen Sie '1', instr(@ORDBYD,'1') als `INDEX`
Union
Wählen Sie '3', instr(@ORDBYD,'3') als `INDEX`;

instr-Funktion (aus der Baidu-Enzyklopädie der instr-Funktionssyntax)

instr(Zeichenfolge1, Zeichenfolge2, Startposition, n-tes_Auftreten)

string1 : Die Quellzeichenfolge, in der gesucht werden soll.
string2 : Die Zeichenfolge, nach der in string1 gesucht werden soll.
start_position : stellt die Position von string1 dar, an der die Suche beginnt. Dieser Parameter ist optional und hat den Standardwert 1, wenn er weggelassen wird. Zeichenfolgenindizes beginnen bei 1. Wenn dieser Parameter positiv ist, beginnt die Suche von links nach rechts. Wenn dieser Parameter negativ ist, beginnt die Suche von rechts nach links und gibt den Startindex der zu suchenden Zeichenfolge in der Quellzeichenfolge zurück.
nth_appearance : stellt das n-te Vorkommen von string2 dar, das gefunden werden soll. Dieser Parameter ist optional. Wenn er weggelassen wird, ist der Standardwert 1. Wenn es eine negative Zahl ist, meldet das System einen Fehler.

Beachten:

Der Positionsindex beginnt bei 1.

Wenn String2 nicht in String1 gefunden wird, gibt die Instr-Funktion 0 zurück.

Beispiel:

SELECT instr('syranmo','s') FROM dual; -- gibt 1 zurück
SELECT instr('syranmo','ra') FROM dual; -- gibt 3 zurück
SELECT instr('syran mo','at',1,2) FROM dual; -- gibt 0 zurück

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Allgemeine Download-, Installations- und Konfigurationsmethoden und einfache Bedienungskenntnisse für MySQL 5.7.20 (kostenlose Installation der Dekomprimierungsversion)
  • So verwenden Sie Java Web zum Herstellen einer Verbindung zur MySQL-Datenbank
  • So verwenden Sie tcpdump zum Erfassen von Paketen für MySQL
  • Detaillierte Erläuterung von 30 SQL-Abfrageoptimierungstechniken für MySQL-Zehnmillionen großer Datenmengen
  • Mysql-Optimierungstechniken zum Abfragen von Daten basierend auf der Zeit
  • 10 SQL-Anweisungsoptimierungstechniken zur Verbesserung der MySQL-Abfrageeffizienz
  • MySQL-Techniken zum schnellen Datenvergleich
  • Zusammenfassung häufiger Probleme und Anwendungskenntnisse in MySQL
  • 5 Tipps zum Schutz Ihres MySQL Data Warehouse
  • Teilen Sie 101 MySQL-Debugging- und Optimierungstipps
  • Tipps zur MySql-SQL-Optimierung teilen
  • Zusammenfassung der MySQL-Injection-Bypass-Filtertechniken

<<:  So installieren Sie Docker unter Windows Server 2016

>>:  Detaillierte Erklärung der numerischen Trennzeichen von TS und strengere Klassenattributprüfungen

Artikel empfehlen

MySQL Null kann 5 Probleme verursachen (alle schwerwiegend)

Inhaltsverzeichnis 1. Zähldaten gehen verloren Lö...

Lombok-Implementierung JSR-269

Vorwort Einführung Lombok ist ein praktisches Too...

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

Das WeChat-Applet realisiert die Chatroom-Funktion

In diesem Artikel wird der spezifische Code des W...

Detailliertes Tutorial zur Integration von Apache Tomcat mit dem IDEA-Editor

1. Laden Sie das komprimierte Tomcat-Paket von de...

So erstellen Sie mit Squid einen Proxyserver für http und https

Als wir nginx eingeführt haben, haben wir nginx a...

Detaillierte Erläuterung der Implementierung der Nginx-Prozesssperre

Inhaltsverzeichnis 1. Die Rolle der Nginx-Prozess...