|

mysql installieren
/ den mysql Server starten
eine Datenbank einrichten
eine Tabelle anlegen
Daten in eine Tabelle eintragen
Daten einer Tabelle abfragen
Daten in einer Tabelle ändern
Daten in einer Tabelle löschen
Größe / Name einer Spalte verändern
eine Spalte in eine Tabelle einfügen
eine Spalte einer Tabelle löschen
| mysql
installieren / den mysql Server starten |
|
mysql ist in der Internet Programmierung der
de facto Standard. Wer mysql noch nicht hat, kann es hier
(Version mysql-4.0.9-gamma-win.zip) runterladen.
Die Installation ist einfach, entzippen und dann auf Install
drücken. Am besten alle default Einstellungen bestätigen.
mysql installiert sich im Default im Laufwerk c unter mysql.
Nach der Installation muss der mysql Server gestartet werden.
Unter win95/98 fährt man in der DOS BOX in den Ordner
c:\mysql\bin>. (die Dos Box öffnen, mit C: auf Laufwerk
C wechseln, dann cd mysql eingeben, dann cd bin. ) Dort gibt
man dann mysqld ein. Was passiert? Nichts! Dann hat es funktioniert!!
Der mysql Server ist gestartet.
Unter Windows NT oder Windows 2000 öffnet man im Windows
Explorer den Ordner c:\mysql\bin. Nach einem Doppelklick auf
die Datei winmysqladmin.exe, erscheint dann, wenn mysql zum
ersten Mal gestartet wird, eine Maske, die Name und Userid
haben will. Da gibt man irgendwas ein und drückt OK.
Anschließend steht unten rechts die Ampel auf grün.
Das heißt, der mysql Server ist gestartet.
| eine
Datenbank einrichten |
|
Die erste Handlung besteht jetzt darin, eine
Datenbank einzurichten. Die Datenbank sollte nicht mit einer
Tabelle verwechselt werden. Wenn wir Daten speichern, löschen
oder ändern, dann tun wir das in einer Tabelle. Eine
Datenbank kann beliebig viele Tabellen haben.
Wenn wir uns also in der Dos Box oder in Eingabeaufforderung
im Ordner c:\mysql\bin befinden, geben wir dort folgendes
ein: mysqladmin create banane
und drücken auf die return Taste. Was passiert? Wir haben
jetzt in c:\mysql\data einen
Ordner banane. Das erfüllt
uns schon mal mit fröhlicher Genugtuung.
In c:\mysql\bin geben wir jetzt
folgendes ein: mysql banane und drücken die Return Taste.
Wir sehen auf dem Schirm:
C:\mysql\bin>mysql banane
Welcome to the MySQL monitor. commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.28-gamma
Type 'help;' or '\h' for help. Type '\c' to
clear the buffer
Das heißt,nach dem Willkommen Gruß, sind wir in
der Datenbank.
Im nächsten Schritt legen wir jetzt eine
Tabelle an. Relationale Datenbanken werden über eine
besondere Programmiersprache angesprochen, nämlich SQL
(structured query language). Ein kleiner Teil dieser Sprache
wird im Folgenden vorgestellt. SQL wird hier allerdings nur
soweit behandelt, wie es für das Verständnis des
nächsten Kapitels notwendig ist. Wir richten mit folgendem
Befehl eine Tabelle ein:
mysql> create table melone (Name char(80),Vorname
char(80),Gewicht dec(5,2), -> Beschreibung blob);
Nachdem wir den Befehl ausgeführt
haben, erhalten wir die Nachricht, dass alles OK ist und die
Tabelle eingerichtet wurde. (Query OK, 0 rows affected (0.06
sec))
Bei der Eingabe gibt es nun folgendes zu beachten. Ist das
SQL Statement lang, dann wird irgendwann mal automatisch umgebrochen.
Das ist harmlos. Ist das SQL Statement aber zu lang, dann
kann der Puffer der Dos Box in irgendwann nicht mehr aufnehmen.
Man bleibt dann einfach stehen. Um dies zu verhindern, sollte
durch drücken der Return Taste umgebrochen werden. Der
Cursor springt dann in die nächste Zeile vor einen Pfeil.
Diesen Pfeil zeigt das Beispiel oben.
Mit dem Befehl oben wird eine Tabelle
mit vier Spalten aufgebaut (Name, Vorname, Gewicht, Beschreib)
Wenn alles funktioniert hat, müssen
im Ordner c:\mysql\data\banane
drei Dateien vorhanden sein.
(melone.frm, melone.MYD, melone.MYI)
Mit char, dec,
blob und int wird definiert,
welche Datentypen die Spalten aufnehmen können.
Hierbei steht char für Charakter also
für Buchstaben. Der Wert innerhalb der Klammern gibt
an, wie viele Zeichen maximal dastehen dürfen. 255 ist
hierbei die Obergrenze. Hat der Wert, der eingegeben wird,
mehr Zeichen, als der Wert innerhalb der Klammer, wird abgeschnitten.
dec steht für Dezimalzahlen. Hierbei
ist die erste Zahl innerhalb der Klammer, die maximale Anzahl
an Zahlen. Die zweite Zahl gibt an, wie viele von diesen Ziffern
(im Beispiel 5) Nachkommastellen sind.
blob steht für binary large object.
Es wird angewandt, wenn z. B. sehr lange Texte oder ein Bild
eingespeist werden.
int (integer) erfasst ganze Zahlen.
Insgesamt bietet mysql noch viel mehr Datentypen an, wir lassen
das jetzt aber auf sich beruhen.
| Daten
in eine Tabelle eintragen |
|
Mit insert werden in die oben
erzeugte Tabelle Daten eintragen:
Wir tragen den Wert 45.666 in die Spalte Gewicht ein :
mysql> insert into melone (gewicht)
values (45.666);
Query OK, 1 row affected (0.11 sec)
mysql> select gewicht from melone
1 row in set (0.11 sec)
mysql>
Eingetragen wird eine Zahl mit 5 Ziffern
(45.666), macht also mit dem Komma (in diesem Falle ein Punkt)
sechs Ziffern. Da wir aber die Spalte so definiert haben,
dass sie maximal nur 5 Ziffern haben darf, bleibt mysql nichts
anderes übrig, als aufzurunden.
Das heißt, mit select
gewicht from melone; erhalten wir
45.67.
Ein weiteres Beispiel:
insert into melone (Name, Vorname,Gewicht,Beschreibung)
values ("Ehmann","Andres",72.5,"Ich
weiss nicht woher ich komm, ich weiss nicht wohin ich geh,
ich bin, ich weiss nicht was, mich wunderts dass ich glücklich
bin");
Nicht vergessen! Man muss in der Datenbank banane
sein, um die Tabelle melone anzusprechen.
Sollen Inhalte in alle Spalten der Tabelle eingefügt
werden, gibt es eine kürzere Schreibweise:
insert into melone values ("Maier","Peter",78.5,"So
geht es auch");
Zu beachten ist:
Innerhalb der Datenbank, werden alle Befehle mit einem Semikolon
abgeschlossen (anschließend Return drücken).
Die Inhalte in den Spalten vom Typ char oder vom Typ varchar
müssen in Anführungszeichen stehen.
Bei den Spalten vom Typ int oder dec kann man diese weglassen.
Wer will, kann auch nur einige Spalten mit Inhalten füllen,
das sieht dann so aus:
insert into melone (Name,Vorname) values
("Maier","Peter");
| Daten
einer Tabelle abfragen |
|
Mit select * from melone; erhalten wir alle
bislang eingegebenen Werte der Tabelle melone:
mysql> select * from melone
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Name |
 |
Vorname |
 |
Gewicht |
 |
Beschreibung |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
NULL |
 |
NULL |
 |
9999.99 |
 |
NULL |
 |
 |
Maier |
 |
Peter |
 |
78.50 |
 |
So was |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
2 rows in set (0.00 sec)
mysql>
Sollen nur bestimmte Datensätze angezeigt
werden:
select * from melone where Vorname="Peter";
Jetzt werden nur die Datensätze angezeigt,
in denen der Vorname Peter ist. In unserem Falle wird nur
ein Datensatz angezeigt.
Zur Suche nach einem bestimmten Wort innerhalb
einer längeren Zeichenkette:
select * from melone where Beschreibung
like "%So%";
Die Prozentzeichen sind hierbei ein Joker.
Das heißt, es dürfen vor dem Wort Zeichen stehen
und danach.
Sollen nur bestimmte Spalten betrachtet
werden:
select Name from melone where Gewicht
> 70;
| Daten
in einer Tabelle ändern |
|
Zuerst ein Beispiel, das man in der Praxis besser
nicht nachvollzieht:
update melone set Name="Adorno";
Das funktioniert! Der Name wird auf Adorno gesetzt mit einem
kleinen, aber gewaltigen Schönheitsfehler. Alle Namen
werden auf Adorno gesetzt.
In der Regel ist also ein update Statement ohne
where Klausel sinnlos. Es ist also sinnvoll wenigstens eine
Bedingung einzubringen:
update melone set Name="Adorno" where Vorname="Peter";
Die where Klausel kann auch mehrer Argumente
haben:
update melone set Name="Adorno" where Vorname="Peter"
and Gewicht > 70;
In die Spalte Name soll überall dort Adorno geschrieben
werden, wo die Spalte Vorname den Wert Peter und
dieSpalte Gewicht einen Wert größer als 70 hat.
Auch folgendes ist möglich:
update melone set Name="Adorno" where Vorname="Peter"
or Gewicht > 70;
Jetzt wird überall da der Name auf Adorno gesetzt, wo
der Vorname Peter ist oder das Gewicht größer
ist als 70.
| Daten
in einer Tabelle löschen |
|
Daten in der Tabelle melone löschen,
sieht dann z. B. so aus:
delete from melone where Name="Adorno";
Hier gilt das gleiche wie bei update.
Ohne where Klausel wird die Sache höchst gefährlich.
| die
Größe einer Spalte verändern |
|
Die Größe einer Spalte kann
mit folgender Syntax verändert werden:
alter table melone change Name Name
char(120);
Mit diesem Befehl wird die Spalte Name
von 80 auf 120 Zeichen vergrößert.
Soll der Name der Spalte selbst geändert
werden soll, ist die Syntax:
alter table melone change Name Familienname
char(120);
| eine
Spalte in eine Tabelle einfügen |
|
Es kann notwendig sein, nachträglich
eine Spalte in eine Tabelle einzufügen. Es soll aber
nicht verschwiegen werden, dass es besonders im Internetumfeld
wesentlich praktischer ist, es von vorneherein richtig zu
machen. Die Syntax zum Einfügen von Spalten sieht so
aus:
alter table melone add Adresse
char(255);
Mit diesem Befehl fügen wir in die Tabelle melone die
Spalte Adresse ein.
| eine
Spalte einer Tabelle löschen |
|
Das Gegenteil, also Löschen einer
Spalte, funktioniert so:
alter table melone drop Name;
|
 |