Was ist SQL?

Werbung
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
Herunterladen