Handout Referat „MySQL“ 1. Was ist MySQL? 1.1 Geschichte i) SQL-Code weder schnell noch flexibel genug um Anforderungen abzudecken ii) Resultat, neue Datenbank unter Benutzung der fast gleichen API wie SQL iii) Namensherkunft ungeklärt Entweder durch Bibliotheks- und Werkzeugnamen oder Name der Tochter des Mitbegründers Monty Widenius 1.2 Wichtige Features i) Geschrieben in C und C++ ii) Multithread fähig iii) Keine Speicherlecks iv) Flexibles und sicheres Berechtigungsystem v) Vieles, viels mehr! 1.3 Maximale Größen von MySQL-Tabellen Betriebssystem Maximale Dateigröße Linux 2.2 – Intel 32 Bit 2 GByte Linux 2.4+ 4 TByte Solaris 9/10 16 TByte NetWare 8 TByte Win 32 FAT / FAT 32 2 GByte / 4 GByte Win 32 NTFS 2 TByte Mac OS 2 TByte 2. Installation / Konfiguration 2.1 Betriebssysteme AIX, Amiga, BSDI, Digital Unix, FreeBSD, HP-UX, Linux, Mac OS, NetBSD, OpenBSD, OS/2, Solaris, SunOS, Tru64 Unix, Windows 2.2 Installation unter Windows Benutzung des MySQL Konfigurationsassistenten für die meisten Benutzer ausreichend! 2.3 Installation unter Linux Source Codes herunterladen, Scripte kompilieren und installieren, Konfigurationen durch Berechtigungen und my.cnf vornehmen 3. Administrationswerkzeuge / Benutzeroberflächen 3.1 PHPMyAdmin Sowohl als auch einsetzbar!!! 3.2 MySQL-Administrator Gute Vorstellung unter http://www.mysql.de/products/tools/administrator/tutorials/custom-graphs.html 4. Datenbankdesign 4.1 Tabellentypen MyISAM, InnoDB, MERGE, MEMORY (HEAP), BDB, EXAMPLE, FEDERATED, ARCHIVE, CSV, BLACKHOLE 4.2 Feldtypen BIT, TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, BOOLEAN, FLOAT, DOUBLE DATE, DATETIME, TIMESTAMP, TIME, YEAR CHAR, VARCHAR, TINYBLOB, BLOB, TINYTEXT, TEXT, ENUM 5. SQL-Einführung 5.1 SELECT Syntax: SELECT attribute FROM tabelle WHERE bedingung [ORDER BY | GROUP BY | etc.] 5.2 INSERT Syntax: INSERT INTO tabelle (attrib1, attrib2, attrib3) VALUES (´wert1´, ´wert2´, ´wert3´) 5.3 UPDATE Syntax: UPDATE tabelle SET attrib1=´wert1´, attrib2=´wert2´ WHERE bedingung 5.4 DELETE Syntax: DELETE FROM tabelle WHERE bedingung 5.5 JOIN am Beispiel INNER JOIN Syntax: SELECT tab1.attribute, tab2.attribute FROM tabelle1 tab1 INNER JOIN tabelle2 tab2 ON tab1.pk = tab2.fk [WHERE bedingung] [ORDER BY | GROUP BY | etc.] 6. Zugriff auf MySQL 6.1 Zugriff per Perl Verwendung von DBI 6.2 Zugriff per PHP Verwendung von PHP-eigenen Befehlen