SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer
Was ist SQL? «Structured Query Language» Sprache für die Datenabfrage und Datenmanipulation Speziell für relationale Datenbanken entwickelt Standardisierte Sprache für verschiedene Datenbank-Systeme SQL ist in Klartext gehalten und kann mit einem Texteditor geöffnet werden SQL ist das Format für Datensicherungen (Backup, Dump)
Vorteile von SQL Leicht zu erlernen Kann mit Text-Editor bearbeitet werden (insbes. Editoren für Programmierer) Kann mit Scripte erzeugt werden (auch mit FileMaker-Scripten oder PHP) Funktioniert in vielen Datenbank-Systemen (auch in FileMaker ab Version 12) Ab FileMaker 10 kann auch via ODBC-Schnittstelle auf andere SQL-DBMS aktiv zugegriffen werden
Nachteile von SQL Eingeschränkter Befehlsatz SQL läuft nicht für sich allein, sondern wird von anderen Programmen oder Scripten erzeugt und ausgeführt Keine Kontrollstrukturen (if...then...else, foreach, for, while etc.) Nicht alle DBMS beherrschen alle Befehle oder Abfrage-Konstrukte (z.b. ältere MySQL-Versionen)
Was ist MySQL? Datenbank-Management-System (DBMS) Datenbank-Server verwaltet alle Datenbanken auf einem Server weitgehend kostenlos bei den meisten Webhostern standardmässig installiert Leistungsfähigkeit im mittleren Bereiche keine Benutzeroberfläche
Weitere SQL-DBMS MSsql-Server von Microsoft Oracle (auch Inhaber der Marke MySQL) MariaDB (freie Weiterentwicklung von MySQL) PostGREsql (freies und striktes DBMS) SQLite (freies DBMS, das sogar ohne Server auskommt und in vielen Anwendungen zum Einsatz kommt u.a. in Webbrowsern) CouchDB, Firebird etc.
Was braucht es für den Betrieb von MySQL? PC oder Mac MySQL Community Server (DBMS-Software) ODBC-Verwaltungssoftware (für Verwaltung von DSN und Treibern) ggf. MySQL-Systemerweiterung (Starten & Stoppen) MySQL Workbench (für Verwaltung der Datenbanken und Benutzerberechtigungen) MySQL-Verwaltungsprogramme wie Navicat, Sequel Pro (nur Mac) oder phpmyadmin
Zugriff auf DBMS DBMS (MySQL Community Server) ODBC-Schnittstelle (DSN Data Source Name: myodbc) Client: Sequel Pro Client: FileMaker ODBC-Schnittstelle beim Webhoster HTTP-Webserver mit PhpMyAdmin / PHP-Scripte Client: Webbrowser
Was ist ODBC? «Open Database Connectivity» Offene Standard-Schnittstelle für den Zugang zu Datenbanksystemen, den verschiedene Anwendungen nutzen können Diese Schnittstelle ist in allen Betriebsystemen verfügbar Die meisten Datenbanksysteme (DBMS) bieten heute den Zugriff via ODBC an
ODBC-Schnittstelle konfigurieren DSN (Data Source Name) kann u.u. frei gewählt werden Treiber müssen für die entsprechende DB-Engine installiert sein IP-Adresse des Server muss bekannt sein, falls Server nicht lokal (localhost)
ODBC-Schnittstelle konfigurieren... oder IP-Adresse des Servers User & Passwort sind in der Datenbank mysql abgespeichert genau wie die Berechtigungen für die Database
MySQL nach der Installation Unter Mac OS X & Unix wird der MySQL Community Server unter /usr/local/mysql installiert. Auch die Daten befinden sich in diesem Verzeichnis
MySQL-Datenbanken Die MySQL-Datenbanken sind aus Sicherheitsgründen lese- und schreibgeschützt und befinden sich unter /usr/local/mysql/data.
MySQL Workbench Freie Verwaltungssoftware für MySQL-DBMS Sehr leistungsfähig und umfassend Benutzeroberfläche teilweise sehr gewöhnungsbedürftig Enthält auch einen Entity Relationship (ER) Visual Designer wie FileMaker seit Version 7 Ersetzt seit MySQL 5.x die MySQL GUI-Tools
MySQL-Workbench Export-Dialog
MySQL-Workbench ER-Visual Designer
Was ist phpmyadmin? webbasierte, freie MySQL-Administrationssoftware sehr leistungsfähig verwendet freie Standard-Technologie wie PHP, HTML/CSS, JavaScript und SQL bei vielen Hosting-Anbieter vorinstalliert Voraussetzung ein laufender Webserver mit aktiviertem PHP-Modul Ermöglicht Export und Import von Daten (SQL, CSV, TAB etc.)
phpmyadmin
Was ist Sequel-Pro? Kostenlose Mac-Software zur Verwaltung von MySQL-Datenbanken Sehr leistungfähig und effizient Intuitive Benutzeroberfläche (typisch Mac) Zu bevorzugende Verwaltungssoftware für lokale DBMS und für externe DBMS, falls Zugang via SSH gewährt wird
SequelPro (Beispiel)
SQL-Befehle Ein kurzer Crash-Kurs
SQL-Befehl SELECT Dient zur Abfrage von Daten Abfrage können über mehrere Tabellen erfolgen Einer der am meisten eingesetzte Befehle Leicht zu erlernen
SQL-Befehl SELECT (Beispiele) SELECT `name` Feld FROM `adressen` Tabelle WHERE `id` = 3 Bedingung SELECT `name` Feld FROM `adressen` Tabelle WHERE `name` LIKE %Mozart%` Bedingung
Der SQL-Befehl INSERT Fügt einen Datensatz mit Feldwerten ein Wird auch bei Datensicherungen eingesetzt Komplexer Befehl, der sorgfältig erstellt werden muss Kann nur in einer Tabelle verwendet werden
SQL-Befehl INSERT (Beispiele) INSERT INTO `adressen` Tabelle VALUES (3,`Beethoven`) Werte INSERT INTO `adressen` Tabelle (`id`,`name`) Feldnamen VALUES (3, Beethoven ) Werte
Der SQL-Befehl UPDATE Verändert oder setzt den Wert in Feldern Komplexer Befehl, der sorgfältig erstellt werden muss Kann ggf. in mehreren Tabellen eingesetzt werden Kann Bedingungen enthalten
SQL-Befehl UPDATE (Beispiele) UPDATE `adressen` Tabelle SET `planet`= Erde Werte aller Zeilen UPDATE `adressen` Tabelle SET `vorname`= Wolfi, `geburtsort`= Salzburg Feldnamen & Werte WHERE `name`= Mozart Bedingung
Der SQL-Befehl DELETE Löscht unwiderruflich einen oder mehrere Datensätze Dieser Befehl sollte sorgfältig eingesetzt werden Dieser Befehl kann und sollte Bedingungen enthalten
SQL-Befehl DELETE (Beispiele) DELETE FROM `adressen` Tabelleninhalt wird gelöscht DELETE FROM `adressen` Tabelle WHERE `id`= 77 Bedingung