<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://www.wissensarchiv.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.wissensarchiv.org/feed.php">
        <title>Wissensarchiv für Entwickler db:mysql</title>
        <description></description>
        <link>https://www.wissensarchiv.org/</link>
        <image rdf:resource="https://www.wissensarchiv.org/ttps://www.wissensarchiv.org/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-17T11:49:22+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:distinct&amp;rev=1570973579&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:file_upload&amp;rev=1511996400&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:find_in_set&amp;rev=1540070520&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:insert_into_select&amp;rev=1467842400&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:interval&amp;rev=1584476199&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:join&amp;rev=1450479600&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysq_date_format&amp;rev=1511132400&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_concat&amp;rev=1450479600&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_engine&amp;rev=1460584800&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_foreign_key&amp;rev=1452466800&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_replace&amp;rev=1450479600&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:performance&amp;rev=1768995437&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:regex&amp;rev=1570972655&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:start&amp;rev=1584475888&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:trigger&amp;rev=1542487560&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wissensarchiv.org/doku.php?id=db:mysql:update_from_table&amp;rev=1499205600&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.wissensarchiv.org/ttps://www.wissensarchiv.org/lib/tpl/dokuwiki/images/favicon.ico">
        <title>Wissensarchiv für Entwickler</title>
        <link>https://www.wissensarchiv.org/</link>
        <url>https://www.wissensarchiv.org/ttps://www.wissensarchiv.org/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:distinct&amp;rev=1570973579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-13T15:32:59+02:00</dc:date>
        <title>db:mysql:distinct</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:distinct&amp;rev=1570973579&amp;do=diff</link>
        <description>DISTINCT - doppelte Einträge entfernen

Mit der SQL-Anweisung DISTINCT werden bei der SELECT-Abfrage doppelte Einträge entfernt, so dass jeder Eintrag von einem Datenbankfeld nur einmal zurückgegeben wird.

Beispiel

Die folgende SQL-Anweisung gibt alle response-Infos genau einmal aus, die im smsGatewayLog gefunden wurden</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:file_upload&amp;rev=1511996400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-30T00:00:00+02:00</dc:date>
        <title>db:mysql:file_upload</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:file_upload&amp;rev=1511996400&amp;do=diff</link>
        <description>Dateien in einer MySQL-Datenbank speichern

----------

BLOB - Binary Large Object

Binary Large Objects (BLOBs) sind große binäre Objekte wie z. B. Bild- oder Audiodateien.
 Datentyp  maximale Dateigröße  TINYBLOB  256 Bytes  BLOB  64 KB  MEDIUMBLOB</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:find_in_set&amp;rev=1540070520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-20T23:22:00+02:00</dc:date>
        <title>db:mysql:find_in_set</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:find_in_set&amp;rev=1540070520&amp;do=diff</link>
        <description>Datensätze sortieren mit FIND_IN_SET

Für dieses Beispiel wurde eine MySSQL-Tabelle mit dem Namen „Spiele“ angelegt. Die Einträge in dieser Tabelle wurden beim Anlegen alphabetisch nach dem Wochentag angelegt:

MySQL-Tabelle „Spiele“
idWochentag</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:insert_into_select&amp;rev=1467842400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-07-07T00:00:00+02:00</dc:date>
        <title>db:mysql:insert_into_select</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:insert_into_select&amp;rev=1467842400&amp;do=diff</link>
        <description>INSERT INTO SELECT

Mit dem SQL-Statement „INSERT INTO SELECT“ können einzelne Spalten eines bereits existierenden Datensatzes oder ein gesamter Datensatz als neuer Datensatz hinzugefügt, sprich kopiert, werden.


INSERT INTO Benutzer ( Strasse, PLZ, Ort )
SELECT Strasse, PLZ, Ort FROM Benutzer WHERE id=3</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:interval&amp;rev=1584476199&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-17T21:16:39+02:00</dc:date>
        <title>db:mysql:interval</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:interval&amp;rev=1584476199&amp;do=diff</link>
        <description>INTERVAL und DATE_ADD: Mit der Zeit rechnen

Das folgende Beispiel gibt nur User aus, die innerhalb der letzten 15 Minuten angelegt wurden:


SELECT * FROM users WHERE created_at &gt; DATE_ADD( NOW(), INTERVAL - 15 MINUTE )


Genau so kann mit DATE_SUB auch Zeit abgezogen werden. Für den INTERVAL stehen folgende weitere Einheiten zur Verfügung:</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:join&amp;rev=1450479600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-12-19T00:00:00+02:00</dc:date>
        <title>db:mysql:join</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:join&amp;rev=1450479600&amp;do=diff</link>
        <description>Tabellen miteinander verknüpfen (JOIN)

LEFT JOIN

Alle Datensätze der linken Tabelle werden ausgegeben und denen der rechten, sofern vorhanden, zogeordnet. Spalten von nicht in der rechten Tabelle vorhandenen Datensätzen werden als „NULL“ zurückgegeben.</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysq_date_format&amp;rev=1511132400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-20T00:00:00+02:00</dc:date>
        <title>db:mysql:mysq_date_format</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:mysq_date_format&amp;rev=1511132400&amp;do=diff</link>
        <description>Funktion DATE_FORMAT

Zeit-Ermittlung mit der Funktion DATE_Format

Das Datenbank-Feld mit dem Datum muss vom Typ „date“, „datetime“ oder „timestamp“ sein.

----------

Beispiel 1

Dieses Beispiel liefert alle Mitglieder aus einer Tabelle, die am heutigen Tag Geburtstag haben. Hierfür wird eine Zeichenkette aus dem Tag und dem Monat des Geburtsdatums erstellt und mit dem aktuellen Tag und Monat verglichen (Beispiel:</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_concat&amp;rev=1450479600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-12-19T00:00:00+02:00</dc:date>
        <title>db:mysql:mysql_concat</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_concat&amp;rev=1450479600&amp;do=diff</link>
        <description>Zeichenketten zusammensetzen mit CONCAT

Mit der MySQL-Funktion „CONCAT“ können beliebig viele Zeichenketten und/oder Inhalte von Tabellenspalten zu einer Zeichenkette zusammengesetzt werden.

Beispiel:

In diesem Beispiel werden die Inhalte der Tabellenspalten</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_engine&amp;rev=1460584800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-04-14T00:00:00+02:00</dc:date>
        <title>db:mysql:mysql_engine</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_engine&amp;rev=1460584800&amp;do=diff</link>
        <description>Die passende storage engine auswählen und einstellen

Ab MySQL-Version 3.23 kann optional für Tabllen die storage engine InnoDB benutzt werden. Seit MySQL-Version 5.5 wird InnoDB sogar als Standard-Speicherengine voreingestellt.

Je nach Anforderung der Datenbank-Anwendung kann es sinnvol sein, die storage engine der Tabellen auf</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_foreign_key&amp;rev=1452466800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-11T00:00:00+02:00</dc:date>
        <title>db:mysql:mysql_foreign_key</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_foreign_key&amp;rev=1452466800&amp;do=diff</link>
        <description>Datenbank-Konsistenz (referenzielle Integrität)

Um die Konsistenz einer Datenbank zu gewährleisten ist es empfehlenswert, Fremdschlüssel (FOREIGN KEYS) zu erstellen. Somit ist bereits von der Seite der Datenbank her gewährleistet, dass von anderen Datensätzen abhängige Datensätze auch vorhaden sind. Dies kann in der Programmierung Fehler und Abstürze verhindern.</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_replace&amp;rev=1450479600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-12-19T00:00:00+02:00</dc:date>
        <title>db:mysql:mysql_replace</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:mysql_replace&amp;rev=1450479600&amp;do=diff</link>
        <description>REPLACE (suchen und ersetzen in Zeichenketten)

Suchen und Ersetzen in STRING-Spalten mit MySQL.

Beispiel:

Alle „pdf.php“ im Dateinamen sollen durch „doc_viewer.php“ ersetzt werden.

	*  Vorher: &lt;https://www.meinedomain.de/pdf.php?id=ABCDE&gt;
	*  Nachher: &lt;https://www.meinedomain.de/doc_viewer.php?id=ABCDE&gt;

SQL-Statement:


UPDATE Objekte SET Dateiname = REPLACE(Dateiname, 'pdf.php', 'doc_viewer.php') WHERE Dateiname LIKE '%pdf.php%'</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:performance&amp;rev=1768995437&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-21T12:37:17+02:00</dc:date>
        <title>db:mysql:performance</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:performance&amp;rev=1768995437&amp;do=diff</link>
        <description>Performance-Tipps

Bei geringer Anzahl von Datensätzen in einer mySQL-Datenbank bewegt sich die Dauer der Abfragen meist im Millisekunden-Bereich. Wenn in den Tabellen jedoch mehrere Millionen Datensätze gespeichert wurden können die Abfragen auch schon leicht im Sekunden-Bereich liegen. Wenn die Abfragen dann noch mehrere Tabellen berücksichtigt kann es schon mal 30 Sekunden dauern. Bei einem Cronjob und einer Standard max execution time von 90 Sekunden Laufzeit sollte das noch kein Problem dar…</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:regex&amp;rev=1570972655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-13T15:17:35+02:00</dc:date>
        <title>db:mysql:regex</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:regex&amp;rev=1570972655&amp;do=diff</link>
        <description>Reguläre Ausdrücke in einer SQL-Bedingung

Beispiel


SELECT * FROM Spielscheine WHERE Beschreibung REGEXP 'KW[[:blank:]][0-9]{2}[[:blank:]]*-[[:blank:]]*[0-9]{2}'


Erläuterung des regulären Ausdrucks

	*  KW = Die Buchstaben KW (stellt im Beispiel die Kalenderwoche dar)</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:start&amp;rev=1584475888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-17T21:11:28+02:00</dc:date>
        <title>db:mysql:start</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:start&amp;rev=1584475888&amp;do=diff</link>
        <description>MySQL (SQL-Sprache für MySQL-Datenbanken

	*  Die passende storage engine auswählen (MyISAM oder InnoDB)
	*  Datenbank-Konsistenz (referenzielle Integrität)
	*  DATE_FORMAT
	*  DISTINCT - doppelte Einträge entfernen
	*  Dateien in MySQL-Datenbank speichern
	*  JOIN (Tabellen miteinander verknüpfen)
	*  INSERT INTO SELECT
	*  UPDATE Wert aus einer anderen Tabelle
	*  INTERVAL und DATE_ADD: Mit der Zeit rechnen
	*  Datenbank-Trigger
	*  Beispiel für Bit Operator in mySQL
	*  Reguläre Ausdrücke in …</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:trigger&amp;rev=1542487560&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-17T21:46:00+02:00</dc:date>
        <title>db:mysql:trigger</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:trigger&amp;rev=1542487560&amp;do=diff</link>
        <description>Datenbank-Trigger in MySQL

Ein Datenbank-Trigger ist eine automatische Funktion, die in MySQL durch ein Ereignisse angestoßen werden kann. Der Vorteil ist, dass diese Funktionen bereits auf Datenbankebene automatisiert ausgeführt werden und der Entwickler sich die aufwändigere Programmierung im Programmcode sparen kann. Dadurch kann der Funktionsaufruf an keiner Stelle vergessen werden.</description>
    </item>
    <item rdf:about="https://www.wissensarchiv.org/doku.php?id=db:mysql:update_from_table&amp;rev=1499205600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-07-05T00:00:00+02:00</dc:date>
        <title>db:mysql:update_from_table</title>
        <link>https://www.wissensarchiv.org/doku.php?id=db:mysql:update_from_table&amp;rev=1499205600&amp;do=diff</link>
        <description>UPDATE Wert aus einer anderen Tabelle

In diesem Beispiel wird der Betrag aus der Tabelle Spielscheine (Tabelle A) für alle Datensätze in das Feld net_price der Tabelle affilinet (Tabelle B) übertragen:


UPDATE Spielscheine AS tabA, affilinet AS tabB
SET tabB.net_price = tabA.Betrag
WHERE tabB.sub_id = tabA.ID</description>
    </item>
</rdf:RDF>
