Thomas Ohlhauser: MySQL in Einzelschritten



Ähnliche Dokumente
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Informatik 12 Datenbanken SQL-Einführung

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Labor 3 - Datenbank mit MySQL

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Artikel Schnittstelle über CSV

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Professionelle Seminare im Bereich MS-Office

SQL structured query language

Datenbanken Kapitel 2

Berechnungen in Access Teil I

OP-LOG

PostgreSQL unter Debian Linux

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Datenexport aus JS - Software

SQL-Befehlsliste. Vereinbarung über die Schreibweise

How to install freesshd

Anleitung zur Erstellung und Bearbeitung von Seiten in Typo3. Typo3. Anleitung. Wenpas Informatik

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Wie richten Sie Ihr Web Paket bei Netpage24 ein

desk.modul : WaWi- Export

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

ecall sms & fax-portal

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Apartment App. Web Style Guide

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Erstellen eines Formulars

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Kurzeinführung Excel2App. Version 1.0.0

Benutzer-Handbuch. Import / Export von Adressen

Beispiel 1: Filmdatenbank

105.3 SQL-Datenverwaltung

Datenbanken Microsoft Access 2010

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Anwendungsbeispiele Buchhaltung

Klicken Sie auf Weiter und es erscheint folgender Dialog

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken.

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Datensicherung und Wiederherstellung

Durchführung der Datenübernahme nach Reisekosten 2011

7. Übung - Datenbanken

Übersicht der wichtigsten MySQL-Befehle

Installationsanleitungen

MySQL Installation. AnPr

Import, Export und Löschung von Zertifikaten

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Lizenzen auschecken. Was ist zu tun?

OUTLOOK-DATEN SICHERN

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Arbeiten mit dem Outlook Add-In

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Alerts für Microsoft CRM 4.0

Österreichische Trachtenjugend

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

EnergyDataView. Benutzerhandbuch. Version Thüga AG MeteringService

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

EINFACHES HAUSHALT- KASSABUCH

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

teischl.com Software Design & Services e.u. office@teischl.com

Bauteilattribute als Sachdaten anzeigen

Hex Datei mit Atmel Studio 6 erstellen

Schritt 1 - Registrierung und Anmeldung

SEMINAR Modifikation für die Nutzung des Community Builders

Abfragen: Grundbausteine

Lehrveranstaltung Grundlagen von Datenbanken

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Installationsanleitung CLX.PayMaker Home

Access Verbrecherdatenbank Teil 3

Newsletter. 1 Erzbistum Köln Newsletter

BSV Software Support Mobile Portal (SMP) Stand

Lernwerkstatt 9 privat- Freischaltung

Urlaubsregel in David

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Options- und Freitext-Modul Update-Anleitung

Datenbanken für Online Untersuchungen

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Transkript:

Thomas Ohlhauser: MySQL in Einzelschritten 1. Installation und erste Schritte - Mysql installieren unter c:\mysql (im Raum 10 bereits auf allen Rechnern erfolgt) - # NT neu starten - DOS-Box : Ins Verzeichnis C:\mysql\bin wechseln und mysql eingeben. Mysql Monitor erscheint - MySQL unter Linux erstmals starten: /sbin/init.d/mysql start - Linux: /usr/local/mysql bzw. bei einem symbolischen Link direkt mysql am Prompt eingeben. - Wichtig: Jeden Befehl mit einem ; beenden! - Show databases; # zwei Datenbanken sind vorhanden: Mysql und test. - Show tables from mysql; - Show columns from user; # Befehl gibt die Beschreibung der Felder in der Datenbanktabelle an. Sie gibt den Typ, den Standardwert, ob Null oder nicht Null und sämtliche Schlüsselfelder an. - Select * from user; # Befehl zeigt alle Datensätze der Tabelle. - Die mysql Datenbank ist die Standarddatenbank. Diese Datenbank speichert alle Berechtigungen, alle Benutzer, Host-Privilegien usw. 2. Entwerfen der ersten Datenbank Konsole öffnen (MS-DOS-Eingabeaufforderung unter Windows bzw. eine Konsole ihrer Wahl unter Linux). CREATE DATABASE nachname_db; # erstellt eine neue Datenbank mit eurem Nachnamen DROP DATABASE nachname_db; # löscht die Datenbank mit eurem Nachnamen 3. Benutzer hinzufügen (Wichtig bei Remote Login) Um einen Benutzer von ihrem lokalen Rechner aus im Folgenden als localhost bezeichnet Zugang zu ihrer Datenbank zu ermöglichen, muss dieser Benutzer an mehreren Orten eingetragen sein. Die MySQL RDBMS beinhaltet eine Datenbank namens mysql. Diese verfügt über sämtliche Berechtigungen für alle MySQL Datenbanken a) Um die mysql-datenbank zu einer aktiven Datenbank zu machen, geben sie folgendes ein: use mysql; b) Fügen Sie der host-tabelle den Host Name und die Datenbank hinzu: INSERT INTO host VALUES( localhost, nachname_db, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y ); Beachten Sie, dass der MySQL-Monitor Ihre Anweisung in der folgenden Zeile weiterführt, wenn sie kein Semikolon (;) eingeben. Mit der Pfeilnachoben-Taste (history key) könne sie alle Befehle Revue passieren lassen. Y bedeutet der Benutzer ist berechtigt eine bestimmte Aktion auszuführen. N bedeutet keine Berechtigung. c) Fügen Sie der user Tabelle einen Benutzer, indem sie folgende Anweisung eingeben: INSERT INTO user VALUES( localhost, gast, PASSWORD( gast ), Y, Y, Y, Y, Y, Y, Y, Y, Y, Y ;Y, Y, Y, Y ); d) Sie sind nun so weit, der mysql-datenbank Ihre Datenbank sowie Benutzer hinzuzufügen. Geben Sie dazu folgendes ein: INSERT INTO db VALUES( localhost, nachname_db, gast, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y ); Rückblick: Benutzer Gast hat nun die Berechtigung die Datenbank nachname_db auf dem gleichen Rechner (localhost) zu gebrauchen. Wenn Sie von ihrem Rechner aus mit einer anderen MySQL-Datenbank auf einem anderen Rechner in Verbindung treten, muss der Name ihres Rechners sich in dieser Datenbank befinden.

4. Tabellen erstellen a) Datenbank auswählen mysql> USE nachname_db; b) Anlegen einer Tabelle mysql> CREATE TABLE schueler (name CHAR(20), vorname CHAR(20), -> geschlecht CHAR(1), geboren DATE, betrieb CHAR(30)); c) Anschauen der Tabelle mit dem Befehl DESCRIBE: mysql> DESCRIBE schueler; # bzw. show columns from schueler; d) Datensätze einfügen mysql> INSERT INTO schueler -> VALUES ('Oettl','Christoph',,'m','1975 03-30', Edeka ); Übungsaufgabe: Mindestens vier weitere Schüler einfügen!!! e) Abfragen der Informationen aus der Tabelle Allgemein: SELECT was FROM tabelle WHERE bedingungen; mysql> SELECT * FROM schueler; f) Geburtsdatum beim Schüler Oettl ändern mysql> UPDATE schueler SET geboren = "1960-08-31" WHERE name = "Oettl"; g) Auswahl spezieller Einträge (Selektion) Wir möchten uns gerne nur die Zeile von Oettl ausgeben lassen: mysql> SELECT * FROM schueler WHERE name = "Oettl"; Ein weiteres Beispiel mit Datumsvergleich: mysql> SELECT * FROM schueler WHERE geboren >= "1960-05-01"; Es können auch Bedingungen mit einander verbunden werden: mysql> SELECT * FROM schueler WHERE geboren > = "1960-05-01" AND geschlecht = "m"; Die vorhergehende Abfrage benutzt einen logischen Operator: AND. Hier nun die Anwendung für den Operator OR: mysql> SELECT * FROM schueler WHERE geboren > = "1960-05-01" OR geschlecht = "m"; h) Auswählen von Spalten mysql> SELECT name, geburtstag FROM schueler;

i) Sortieren von Reihen Bisher haben wir in den vorhergehenden Beispielen die Ausgabe in keiner besonderen Reihenfolge ausgeben lassen. Die Datenbank hat die Daten geliefert, wie sie gespeichert waren. Um ein Ergebnis zu sortieren, kann der Befehl ORDER BY verwendet werden: Hier nun die Geburtstage aller Schueler, sortiert nach Datum: mysql> SELECT name, geboren FROM schueler ORDER BY geboren ; Um in absteigender Reichenfolge zu sortieren, müssen wir einen weiteren Ausdruck verwenden, DESC. Ohne diese Angabe wird immer aufsteigend sortiert, daher erübrigt sich auch der Ausdruck ASC (für ASCEND): mysql> SELECT name, geboren FROM schueler ORDER BY geboren DESC; Man kann auch nach mehreren Spalten sortieren. Wenn mehrere Treffer in einer Spalte gefunden und eingeordnet sind, dann werden diese noch nachsortiert. Ein Beispiel: mysql> SELECT name, geschlecht, geboren FROM schueler ORDER BY geschlecht, geboren DESC; j) Abfrage von Suchmustern (Patterns) MySQL kennt alle Standards von ANSI SQL 92. Ein Beispiel, in welchem alle Namen gefunden werden sollen, die mit B anfangen: mysql> SELECT * FROM schueler WHERE name LIKE "O%"; oder alle, die mit er enden. mysql> SELECT * FROM schueler WHERE name LIKE "%fy"; Für alle, die ein "w" enthalten: mysql> SELECT * FROM tier WHERE name LIKE "%w%"; Eine Besonderheit ist die Möglichkeit zur Angabe von genauen Wortlängen: mysql> SELECT * FROM schueler WHERE name LIKE " "; k) Zählen in Spalten In der Praxis stellen sich oft immer wieder dieselben fragen. Grund können statistische Erhebungen sein. Auf unserer schueler Datenbank bezogen, könnte man die Fragen stellen: Wie oft kommt ein bestimmter Typ von Einträgen in einer Tabelle vor? Wir fragen z.b. nach der Zahl der Schüler, der Zahl von Schülern je Betrieb, oder der Zahl der weiblichen Schüler... Um diese Fragen alle beantworten zu können, müssen wir einige wichtige Informationen zu vor wissen. Z.B. wieviele Spalten es überhaupt in unserer Tabelle gibt.

Hierfür benutzen wir den Operator COUNT(): mysql> SELECT COUNT(*) FROM schueler; Ok, soweit so gut, der Operator COUNT(*) zählt also alle Spalten. Wir möchten aber z.b. wissen, wieviele Schüler ein Betrieb hat: mysql> SELECT betrieb, COUNT(*) FROM schueler GROUP BY betrieb; Die Zahl der Schüler, nach Geschlecht geordnet: mysql> SELECT geschlecht, COUNT(*) FROM schueler GROUP BY geschlecht; i) Aggregat Funktionen 1.COUNT 2.SUM 3.AVG 4.MIN 5.MAX In einer Select-Anweisung können verschiedene Aggregatfunktionen verwendet werden. COUNT Diese Aggregatfunktion liefert die Anzahl Datensätze zurück, die mit der SQL-Anweisung eingeschränkt wurden. Beispiel: Select Count(Ident) from Adressen Das Ergebnis ist eine Zahl, die die Anzahl aller Ident bzw. aller Personen in der Tabelle Adressen darstellt. SUM Diese Funktion liefert die Summe aller Werte in der SQL-Ergebnismenge zurück. Beispiel: Select sum(alter) from adressen Das Ergebnis ist das Gesamtalter, die Summe aller Personen in der Tabelle Adressen AVG Mit dieser Funktion wird der Durchschnittswert zurückgegeben. Beispiel: Select avg(alter) from adressen Das Ergebnis besteht nur aus einem Wert, nämlich dem Durchschnittsalter aller Personen aus der Tabelle Adressen. MIN Es wird der kleinste Wert in der Datenmenge ermittelt und als Ergebnis zurückgegeben. Beispiel: Select min(alter) from adressen Das Ergebnis ist das jüngste Alter aller Personen in der Tabelle Adressen. MAX Es wird der grösste Wert in der Datenmenge ermittelt. Beispiel: Select max(alter) from adressen Das Ergebnis ist das grösste Alter aller Personen in der Tabelle Adressen.

5. Hinzufügen von Tabellen und Spalten a) Ändern eines Spaltennamens Alter table schueler Change Vorname First_Name Char(20); In der schueler Tabelle wird der Namen der Spalte Vorname in First_Name geändert. Describe schueler; Um die Änderung zu prüfen! b) Ändern eines Spaltentyps Alter table schueler Modify Nachname Char(50); Describe schueler; c) Umbenennung einer Tabelle Alter table schueler Rename IT-Schueler; Show tables from ohlhauser_db; d) Löschen von Tabellen Drop schueler; e) Löschen von Spalten Alter table schueler Drop betrieb; f) Hinzufügen von Spalten Alter table schueler Add Klasse Char(6); g) Update von Spalten UPDATE schueler SET Alter=Alter+1; 6. MySQL Datentypen a) Nummerische Typen TINYINT -128 bis 127 SMALLINT -32768 bis 32767 MEDIUMINT -8388608 bis 8388607 INT -2147483648 bis 2147483647 BIGINT... DOUBLE(M,D) abhängig von den Werten DECIMAL(M,D) abhängig von den Werten b) Zeichenketten CHAR(X) VARCHAR(X) TEXT c) Vermische Typen SET X Byte X+1 Byte X+2 Byte Werteliste CREATE TABLE TEST( Medien SET( Web Page, Television, Newspaper ));

Die anhand dieser Anweisung erstellte Spalte kann folgende Werte beinhalten: Web Page, Television, Newspaper. 7. Das Füllen der Datenbank mit Daten Nun da Sie Ihre Datenbank entworfen und erstellt haben, sind sie soweit weitere Daten einzufügen. Sie könnten z.b. weiterhin alle Daten auf Kommandozeilenebene eingeben, dies wäre aber ordentliche Zeitverschwendung, denn MySQL bietet Ihnen zahlreiche Möglichkeiten zum Daten importieren bzw. exportieren. a) Load Data Infile Stellen Sie sich vor, Sie müssten eine durch Komma abgegrenzte Textdatei, die Sie mit einem Editor generiert haben, importieren. Jede Spalte mit Daten wird durch ein Komma getrennt. Dies sieht folgendermaßen aus: Müller, Max, m, 1975-01-01, hws Speichern Sie die Datei und importieren Sie sie mit folgendem Befehl: mysql> Load Data Infile C:/home/schueler.txt into table schueler ¾ Fields Terminated By, ¾ ; # Die Felder(fields) der Textdatei sind durch ein Komma getrennt! mysql>select* from schueler; # Betrachten Sie ihr Werk! b) Datenimport aus Microsoft ACCESS 1. Öffnen Sie die ACCESS-Datenbank EURO02 2. Öffnen Sie die Mitarbeiter Tabelle. 3. Datei / Speichern unter/exportieren 4. Dateiname mitarbeiter.txt (Speichern als Textdatei) 5. Beantworten Sie die folgende Fragen und klicken Sie Weiter bis die Datei exportiert ist. 6. Erstellen Sie eine MySQL Datenbank euro02. 7. Erstellen Sie eine MySQL Tabelle Mitarbeiter: Create table mitarbeiter (mnr Int, name Char(20),...); 8. Importieren Sie die Daten der Textdatei in ihre MySQL Datenbank Load Data Infile C:/home/mitarbeiter.txt into table mitarbeiter Fields Terminated by ; ; 9. Select* from mitarbeiter; 10. Importieren Sie die Tabellen Projekt, Kind, ProjektMitarbeiter. # Felder der Textdatei sind durch Semikolon getrennt.

8. Verknüpfen von Tabellen :LU KDEHQ QXQ PHKUHUH 7DEHOOHQ %HLGH P FKWHQ ZLU ]XVDPPHQ EHQXW]HQ+LHUDOVRHLQIDFKHLQPDO]ZHL%HLVSLHOHI UHLQH$EIUDJH EHU]ZHL7DEHOOHQKLQZHJ Beispiel 1: Welche Mitarbeiter (Name, Vorname) leiten die einzelnen Projekte? Das Dynaset soll aufsteigend nach Name und Vorname der Leitenden geordnet sein. SQL: SELECT Bezeichnung, Name AS Leiter, Vorname From Projekt, Mitarbeiter WHERE Mitarbeiter.MNr = Projekt.Leiter ORDER BY Name, Vorname; Beispiel 2: Mit welchen Stundenanteilen arbeiten welche Mitarbeiter in den einzelnen Projekten? Das Dynaset (bestehend aus den Attributen Name und Vorname) soll aufsteigend nach Name und Vorname der Mitarbeiter geordnet sein. SQL: SELECT Name, Vorname, Bezeichnung, Zeitanteil FROM Mitarbeiter, ProjektMitarbeiter, Projekt WHERE Mitarbeiter.MNr = ProjektMitarbeiter.MNr AND Projekt.ProjNr = ProjektMitarbeiter.ProjNr ORDER BY Mitarbeiter.Name, Mitarbeiter.Vorname; (UNOlUXQJ!#"%$ "'&( )% +*, -.-/ " 0'1 2 243(5 276891;:<2 =?>@A3B5 CD89>21 2E5 FGH3B1 I @1 @1 2KJ,5 L1 MNM/1 24O>3PLQ8N2 891 @RCTS 6Q5 2 2 UPV W X%YNZX ZX VX [\Z^]`_a b c%d [fe_g ]`X Z%Z_U(X Z hix dkjx Zl%X ] jx dlqx Z m no pq rnr/q,sut^vor nq 8P7DEHOOHQPLWHLQDQGHU]XYHUNQ SIHQEHQXW]WPDQJHZ KQOLFK GHQ -2,1 %HIHKO 0DQ PX DEHU QLFKW ]ZDQJVOlXILJ ]ZHL YHUVFKLHGHQH 7DEHOOHQ QXW]HQ XP HLQHQ -2,1 DXV]XI KUHQ 0DQFKPDONDQQHVDXFKVLQQYROOVHLQ(LQWUlJHLQHLQHU7DEHOOHPLW DQGHUHQ(LQWUlJHQLQGHUVHOEHQ7DEHOOHPLWHLQDQGHU]XYHUJOHLFKHQ 'DV6FKO VVHOZRUW-2,1 PX LQGLHVHP%HLVSLHODXFKQLFKWH[SOL]LW DQJHJHEHQZHUGHQ