MySQL Einführung

Werbung
Datenbanksysteme
Teil 4
MySQL –Administration und Grundlagen
DDL Data Definition Language
Stefan Maihack Dipl. Ing. (FH)
Datum: 28.10.2005
1
MySQL-Administration
•
•
Um eine MySQL-Datenbank abzufragen, zu aktualisieren oder zu erstellen, wird das
Kommandozeilenprogramm „mysql.exe“ benutzt. MySQL-Monitor
Der MySQL-Monitor „mysql.exe“ steht unter:
…\xampp\mysql\bin\mysql.exe
Er sollte in der PFAD-Variablen des Benutzers eingetragen werden.
•
•
Mit dem MySQL-Monitor ist es möglich, eine Verbindung zu jeder beliebigen MySQLDatenbank im Internet aufzubauen.
Folgende Parameter können dem MySQL-Monitor mitgegeben werden:
-h <host>
Î Der Monitor verbindet sich mit dem angegeben Host.
-u <user>
Î Der Monitor verbindet sich mit dem angegeben User.
-p<passwort> Î Der Monitor benutzt das angegebene Passwort.
-C
Î Während der Verbindung werden die Daten komprimiert.
-D <database> Î Der Monitor verwendet die angegebene Datenbank.
-P <port>
Î Der Monitor verwendet den angegebenen Verbindungsport.
-VERSION
Î Zeigt die Version von MySQL an
2
MySQL-Administration
•
Aufrufbeispiele:
Der Monitor verbindet sich lokal mit der Datenbank
…\xampp\mysql\bin\mysql –u root
Der Monitor verbindet sich remote mit der Datenbank
…\xampp\mysql\bin\mysql –h www.mysql.com –u root –pmeinpasswort
Der Monitor verbindet sich mit einer bestimmten Datenbank
…\xampp\mysql\bin\mysql –u root –D <DB-Name>
Der Monitor verbindet sich mit einer bestimmten Datenbank
…\xampp\mysql\bin\mysql –u root –p <DB-Name> < <Script>.sql
3
MySQL-Administration
•
Folgende Steuerkommandos kennt der MySQL-Monitor:
show databases;
Î Gibt alle erzeugten Datenbanken zurück. Es
sollte mindestens die Datenbank MySQL
angezeigt werden.
use <Datenbank>;
Î Verwendet die Datenbank, welche
angegeben wurde. Alle weiteren SQLKommandos beziehen sich darauf.
show tables;
Î Zeigt alle erzeugten Tabellen der aktuellen
Datenbank an.
desc <Tabelle>;
Î Zeigt die Definition der Tabelle an.
drop database <Datenbank>
Î Löscht die angegebene Datenbank
quit oder exit
Î Beendet den SQL-Monitor.
4
MySQL-Administration
•
Bevor Tabellen angelegt werden können, muss eine Datenbank angelegt werden:
CREATE DATABASE [IF NOT EXISTS] <Datenbankname>;
•
Durch den CREATE DATABASE-Befehl wird folgendes Verzeichnis für die
Datenbank angelegt: „…\xampp\mysql\data\<Datenbankname>“.
•
In diesem Verzeichnis entstehen dann folgende Files:
Î NAME.FRM:
Î NAME.MYD:
Î NAME.MYI:
Speichert die Tabellendefinition
Enthält die Daten der Tabelle
Enthält den Index der Tabelle
Modifizieren sie diese Dateien niemals, es sei denn, sie benutzen ein
Dienstprogramm wie den MySQL-Monitor oder Ähnliches.
5
SQL-Befehle
Allgemeines
•
•
•
•
Was ist SQL (Structured Query Language)?
SQL ist von IBM in Verbindung mit dem Datenbanksystem DB2 entwickelt worden.
Erst als ORACLE diese Sprache für sein Datenbank einsetzte wurde SQL zum
Standard erklärt.
MySQL ist kompatibel mit dem SQL-Standard, wenn gleich MySQL zum einem nicht
alle Elemente dieses Standards unterstützt und zum anderen zahlreiche
Erweiterungen zu diesem Standard bietet.
MySQL kann zum SQL92-Standard gezwungen werden, in dem der Dienst/Daemon
mit „--ansi“ gestartet wird.
Nicht unterstützte SQL-Statements (z.Zt.):
Î Subselects (verschachtelte Abfragen)
Î Views (gespeicherte Abfragen)
Î Contraints mit Fremdschlüsseln und Transaktionen
6
SQL-Befehle
SQL-Schreibweise
•
SQL kann in drei Kategorien eingeteilt werden, die in der Literatur auch als
selbständige Sprachen betrachtet werden:
DDL Î Data Definition Language
DML Î Data Manipulation Language
DCL Î Data Control Language
•
•
•
DDL: Enthält Befehle zur Erzeugung und Manipulation von Datenbankobjekten.
Anlegen oder Bearbeiten von Datenbanken, Tabellen, Sichten oder Prozeduren z.B.
CREATE, USE.
DML: Enthält Befehle die auf die Daten einwirken, z.B. INSERT, UPDATE, DELETE,
SELECT.
DCL: (weniger umfangreich) Enthält Befehle zur Transaktionssteuerung.
7
SQL-Befehle
Schreibweise
•
•
•
•
•
Eine SQL-Anweisung beginnt immer mit einem Verb, dass die Art der Anweisung
festlegt. Solchen Verben sind: CREATE, SELECT oder UPDATE.
Eine SQL-Anweisung endet mit einem Semikolon „;“.
Zeichenketten stehen in Anführungszeichen – einfache oder doppelte.
Es gibt reservierte Wörter: AS oder WHERE.
Ist ein Attributname in einem Ausdruck nicht eindeutig – beispielsweise weil durch
eine Verknüpfung mehrer Tabellen ein Attribut doppelt ist, kann dem Attributnamen
der Tabellennamen durch einen Punkt getrennt voran gestellt werden.
Z.B.: sapr3.gehaltstabelle
•
•
•
Groß- und Kleinschreibung der Syntax wird nicht berücksichtigt.
Groß- und Kleinschreibung in Tabellen- und Db-Namen wird nur dann berücksichtigt,
wenn das darunter liegende Dateisystem diese berücksichtigt.
Tabellennamen und Sonderzeichen – insbesondere Leerzeichen werden mit dem
„Accent grave“ – Zeichen ` eingeschlossen.
8
SQL-Befehle
Schreibweise
•
Im Allgemeinen wird empfohlen, reservierte Wörter nicht als Tabellen- oder
Attributnamen zu verwenden. Ebenso sollten sie auf Sonder- und Leerzeichen in
diesen verzichten.
•
Der Ausdruck NULL steht für ein leeres Datum (NICHTS). NULL ist nicht zu
verwechseln mit 0 oder „ “ (leere Zeichenkette).
•
SQL-Befehle sollten in Großbuchstaben, Tabellen- und Attributnamen dagegen in
Kleinbuchstaben geschrieben werden.
9
DDL – Data Definition Language
•
•
•
Aufgabe der DDL ist es Schematas anzulegen, zu verändern und zu löschen.
Operationen
Î Konzeptuelles Modell
Æ create table
Æ drop table
Æ alter table
Æ…
Î Externes Modell
Æ create view
Æ drop view
Æ…
Î Internes Modell
Æ create index
Æ drop index
Æ…
Nicht alle relationalen Datenbanken unterstützen alle Features
10
MySQL-Datentypen
•
Der Datentyp bestimmt, welche Art von Operationen mit einem gespeicherten Wert
zulässig sind.
•
Numerische Typen:
Î speichert Zahlen
Î Operationen wie Addition, Substraktion, Division und Multiplikation
Î Numerische Datentypen verbrauchen wenig Speicherplatz, insbesondere
Integer-Zahlen.
Î Es gibt prinzipiell zwei Arten von Numerischen Datentypen:
Integer-Zahlen, Fließkommazahlen
11
MySQL-Datentypen
•
Integer-Zahlen
TINYINT
TINYINT UNSIGNED
SMALLINT
SMALLINT UNSIGNED
MEDIUMINT
MEDIUMINT UNSIGNED
INT oder INTEGER
INT UNSIGNED
BIGINT
BIGINT UNSIGNET
Ganzzahlen von -128 bis +127
Ganzzahlen von 0 bis 255
Ganzzahlen von -32768 bis 32767
Ganzzahlen von 0 – 65535
Ganzzahlen von -8 Mio bis +8Mio
Ganzzahlen von 0 bis 16Mio
Ganzzahlen von -2Mrd bis +2Mrd
Ganzzahlen von 0 bis 4Mrd
Ganzzahlen von -9*1018 bis +9*1018
Ganzzahlen von 0 bis 18*1018
12
MySQL-Datentypen
•
Fließkommanzahlen
FLOAT (X)
FLOAT (M, D)
DOUBLE
DOUBLE(M, D)
DECIMAL
Î -3*1038 - +3*1038
Î M=Stellen gesamt; D=Dezimalstellen
Î Fließkommanzahl mit doppelter Genauigkeit
-2*10308 - +2*10308
Î wie Double
Î gepackte Fließkommazahl -999.99 - +999.99
13
MySQL-Datentypen
•
Zeichenkettentypen
Î Zeichenkette mit fester Länge und höchstens
M Zeichen; M < 255
VARCHAR (M)
Î Zeichenkette mit variabler Länge M < 255
TINYTEXT, TINYBLOB
Î Zeichenkette oder Blob bis 255 Zeichen
TEXT, BLOB
Î Zeichenkette oder Blob bis 65535 Zeichen
MEDIUMTEXT, MEDIUMBLOB
Î 16 Mio Zeichen
LONGTEXT, LONGBLOB
Î 4Mrd Zeichen
ENUM (´wert1´, ´wert2´,…)
Î Die Zelle kann einen Wert aus einer Liste
bis zu 65535 Werten annehmen.
SET (´wert1´, ´wert2´,…)
Î Menge. Die Zelle kann ein oder mehrere
Elemente aus einer Liste bis zu
64 Werten enthalten.
Groß- und Kleinschreibung nur bei den Typen TINYBLOB, BLOB, MEDIUMBLOB,
LONGBLOB
Bei CHAR und VARCHAR den Zusatz BINARY angeben, um zwischen Groß- und
Kleinschreibung zu unterscheiden.
CHAR (M)
•
•
14
MySQL-Datentypen
•
Datumtypen für Datum und Zeit
DATE
Î 01.01.1000 – 32.12.9999 im Format „YYYY-MM-DD“
TIME
Î -838:59:59 - +838:59:59 im Format „HHH:MM:SS“
DATETIME
Î YYYY-MM-DD HH-MM-SS Kombination aus DATE und TIME
YEAR
Î Jahreszahlen 1901 – 2155 Format „YYYY“
TIMESTAMP
Î Unix-Zeit seit 01.01.1979 werden die Sekunden gezählt.
Erlaubt das Speichern von Werten bis 2037.
Format „YYYYMMDDHHMMSS“
15
MySQL-Tabellenadministration
DDL
•
Erzeugen einer Datenbank
Bevor Tabellen angelegt werden können, muss eine DB angelegt werden.
CREATE DATABASE [IF NOT EXISTS] <db_name>;
•
Î Im Dateiverzeichnis ..\XAMPP\mysql\data wird ein Unterverzeichnis mit dem
Namen der Datenbank erzeugt „..\XAMPP\mysql\data\<db_name>“
Connect zur Datenbank
Nun muss zur erzeugten Datenbank eine Verbindung aufgebaut werden
…\xampp\mysql\bin\mysql –u root
show databases;
use <db_name>;
16
MySQL-Tabellenadministration
DDL
•
Nun kann in mit der verbundenen Datenbank eine Tabelle angelegt werden
CREATE [TEMPORARY] TABLE [IF NOT EXITS] <tabellenname>
[(Tabellendefinition,…)] [Tabellenoptionen] [SELECT-Befehl]
TEMPORARY: erzeugt ein flüchtige Tabelle. Sie besteht nur solange die Verbindung
zur Datenbank besteht.
•
Tabellenoptionen: Angabe des Tabellentyps.
Î BDB: Transaktionssichere Tabellen mit Seitensperren.
Î InnoDB: Trabsaktionssichere Tabelle mit Zeilensperren (Auf Datensatzebene).
Î HEAP: Tabellen im Hauptspeicher erzeugen.
Î ISAM: Die original MySQL-Tabellen.
Î MERGE: Vereinigung mehre physikalischer MyISAM Tabellen zu einer logischen
Tabelle.
Î MyISAM: Ersetzt ISAM-Tabellen und ist Standard seit MySQL 3.23.xx
Der Tabellentyp wird in den [Tabellenoptionen} mit TYPE= angegeben.
17
MySQL-Tabellenadministration
DDL - CREATE
•
Beispiel: CREATE TABLE
CREATE TABLE strassen (ID INT NOT NULL AUTO_INCREMENT,
kartenausschnitt INT NOT NULL,
strassenname VARCHAR(50) NOT NULL,
plz VARCHAR(5) NOT NULL,
ort VARCHAR (50) NOT NULL,
hausnummern VARCHAR(5) NOT NULL,
xkorrd INT NOT NULL,
ykorrd INT NOT NULL,
PRIMARY KEY (ID));
•
Ein externes Script aufrufen, innerhalb des MySQL-Monitors
mysql –u root –p <DB-Name> < <Scriptname>.sql
18
MySQL-Tabellenadministration
DDL – CREATE & ENUM, SET
•
•
•
•
Den Spaltentyp ENUM und SET eigenen sich für
Spaltenwerte, die aus einer gegebenen Menge von
Zeichenfolgen ausgewählt werden.
Die möglichen Zeichenfolgen (die Elemente der
Menge) deklariert man beim Erstellen der Tabelle;
danach lassen sich ausschließlich diese Werte in
die Spalte einfügen.
Erstellen einer Tabelle mit einer ENUM-Spalte, für
eine Menge von drei Aufzählungszeichen; NULLWerte sind auch erlaut, ansonsten NOT NULL:
CREATE TABLE bsp_tab (zahl ENUM(„ein“, „zwei“,
„drei“) NULL)
belag
pepperoni
SET kann im Gegensatz zu ENUM eine beliebige
Anzahl von Elementen aufnehmen.
CREATE TABLE pizza (belag SET („pepperoni“,
„prawns“, „anchoview, tuna“)
Als Ergebnis des Inserts kommt folgendes heraus:
INSERT INTO pizza VALUES („“), („pepperoni“),
(„anachoviews, tuna“);
anchoviews, tuna
19
MySQL-Tabellenadministration
DDL
•
Löschen einer Tabelle
DROP <Tabellenname>;
•
Tabellendefinition anzeigen
DESC <Tabellenname>;
•
Umbenennen einer Tabelle
RENAME TABLE <Tabellenname_alt> TO <Tabellenname_neu>
[,<Tabellename_alt> TO <Tabellename_neu>,…];
20
MySQL-Tabellenadministration
DDL
•
Spalten/Attribute einer Tabelle hinzufügen
ADD <Spaltendefinition> [FIRST | AFTER <Spaltenname>];
Î FIRST: Die neue Spalte wird am Anfang hinzugefügt.
Î AFTER: Die Spalte wird nach dem angegebenen Spaltenname hinzugefügt.
•
Eine Spalte/Attribut ändern
CHANGE <Spaltenname> <Spaltendefinition>;
Î Ändert den Datentyp und den Spaltennamen
MODIFY <Spaltendefinition>;
Î Ändert nur den Datentyp der Spalte
•
Ein Attribut löschen
ALTER TABLE <Tabellenname> DROP COLUMN <Spalte>;
21
MySQL-Tabellenadministration
DDL - Beispiele
•
•
•
•
Die Spalte „gebursdatum“ wird in die Tabelle „abonnenten“ hinzugefügt.
ALTER TABLE abonnenten ADD COLUMN gebursdatum DATETIME;
Die Spalte „gebrurtsdatum“ wird in der Tabelle „abonnenten“ wieder gelöscht.
ALTER TABLE abonnenten DROP COLUMN gebrursdatum;
Einfügen der Spalte „geburtsdatum“ direkt nach der Spalte „name“
ALTER TABLE abonnenten ADD COLUMN gebrutsname DATETIME AFTER name;
Modifizieren der Spalte „email“, von 100 Zeichen auf 200 Zeichen.
ALTER TABLE abonennten ADD COLUMN geburtsdatum DATETIME AFTER name,
MODIFY email VARCHAR(200);
Æ Beide Aktionen sind durch ein Komma getrennt, dadurch lassen sich alle Arten von
Änderungen an der Tabelle durchführen.
22
Übung 1 - DDL
•
•
Erstellen sie eine neue Datenbank in MySQL, die den Namen „Profukte“ haben soll.
Erstellen sie eine Tabelle „ARTIKEL“ in MySQL, die folgende Attribute beinhalten soll:
Î artikel_id
Î Bezeichnung
Î Datum der Erzeugung
Î Allgemeine Beschreibung
Î Artikelersteller
Î Emailadresse
Î Bild
Î PRIMARY KEY
•
Vorüberlegung: Welche Datentypen werden benötigt?
23
MySQL – Indizes
•
Ein Index ist eine spezielle Baumstruktur, die es einer Datenbank ermöglicht, Daten
schnell zu finden.
•
MySQL erlaubt, Spalten zu indizieren.
•
Die Begriffe Key (Schlüssel) und Index sind zwar genau genommen nicht das
Gleiche, führen aber in SQL zum gleichen Ergebnis.
•
Die Syntax zum Erstellen, Ändern und Löschen eines Indizes ähnelt der Syntax zum
Erstellen und Ändern von Spalten.
•
Ein Index verhält sich verhält sich wie eine externe Spalte der Tabelle. Deshalb kann
man einen Index entfernen ohne irgendwelche Daten zu beeinflussen.
24
MySQL – Indizes
•
•
Ein Index, auch als „Schlüssel“ genannt bezeichnet, ist ein Instrument für
den schnellen Zugriff auf bestimmte Zeilen von Daten innerhalb einer
Tabelle.
Beispiel:
Gegeben ist ein Tabelle „personen“, die Einzelheiten über Personen enthält.
Wenn die DB aufgefordert wird, alle Zeilen entsprechend einem bestimmten
Kriterium abzurufen, liest die DB die ganze Tabelle Zeile für Zeile und ruft
dabei die Daten aller Zeilen ab, die dem Kriterium entsprechen.
•
Selbst wenn nur eine bestimmte Zeile abgerufen werden soll, muss die DB
jede Zeile der Tabelle lesen.
Das Lesen einer gesamten Tabelle wie dieser – ist eine Operation, die man
als „Tabellenscan“ oder auch „Full Table Scan“ bezeichnet - Die Abfrage
erledigt zwar die gestellte Aufgabe, ist aber im höchsten Maße ineffizient.
Î Indizes helfen Leseoperationen zu beschleunigen.
25
MySQL – Indizes
Index
pers_id
1
Pers_id
Name
3
2
1
Clare
Scriven
Tony Butler
3
2
John
Schreiber
5
5
Peter
Stamp
26
MySQL – Indizes
Wann sind Indizes nicht sinnvoll?
• Indizes sind vor allem bei Lese-Operationen sinnvoll. Bei
Schreiboperationen erfordern sie zusätzlich Arbeit, um den Index zu
aktualisieren. Z.B. bei einem Insert-Befehl, um eine neue Datenzeile
einzufügen, müssen sämtliche Indizes für diese Tabelle auf den
neusten Stand gebracht werden.
• Î Bei Tabelle bei denen sehr viel Schreiboperationen stattfinden,
besser keine Indizes verwenden.
27
MySQL – Indizes
Die 4 Arten von Schlüssel
Schlüssel zur eindeutigen Identifizierung:
•
Der Primärschlüssels:
Î Jede Tabelle hat höchstens einen Primärschlüssel.
Î Der Primärindex besteht immer aus einer Spalte
Î Der Primärschlüssel identifiziert einen Datensatz eindeutig (z.B. Matrikelnummer).
Î Alle beteiligten Spalten müssen als NOT NULL definiert sein.
ALTER TABLE <Tabellenname> ADD PRIMARY KEY [<Schlüsselname>]
(<Spalte1> [,<Spalte2>,…]);
•
Der eindeutige Schlüssel:
Î Der eindeutige Schlüssel fordert, dass die Schlüssel-Attribute einzeln oder deren
Kombination einmalig sind.
Î Versucht man einen Datensatz einzufügen, obwohl bereits einer vorhanden ist,
der die Schlüsselbedingung erfüllt, erhält man eine Fehlermeldung.
(Keine doppelten Datensätze).
ALTER TABLE <Tabellenname> ADD UNIQUE [(Schlüsselname)]
(<Spalte1(n)> [,<Spalte2(n)>,…]);
28
MySQL - Indizes
Schlüssel zur mehrdeutigen Identifizierung:
•
Der gewöhnliche Schlüssel:
Î Ein gewöhnlicher Schlüssel kann wie ein Eindeutiger Schlüssel über eine oder
mehrere Spalten erstellt werden.
Î Ein solcher Schlüssel kann bei Zeichenketten-Attributen nur ein Teil eines
Feldes indizieren.
ALTER TABLE <Tabellenname> ADD INDEX | KEY [<Schlüsselname>]
(<Spalte1(n) [,<Spalte2(n)>,…]);
•
Der vierte Indextyp, FULLTEXT, ist für die Geschwindigkeitsverbesserung bei
Volltextsuchen in VARCHAR- und TEXT-Spalten vorgesehen.. Er arbeitet in
Verbindung mit der MATCH-Funktion der WHERE-Klausel. (Erst ab der Version
3.23.23 verfügbar).
ALTER TABLE <Tabellenname> ADD FULLTEXT | KEY
[<Schlüsselname>]
(<Spalte1(n) [,<Spalte2(n)>,…]);
29
MySQL - Indizes
•
Anzeigen der Schlüssel-Attribute
Ob Felder einer Tabelle identifiziert sind, erkennt man in dem die Tabellendefinition
ausgedruckt wird.
DESC <Tabellenname>;
Ergebnis kann sein:
Schlüssel
PRI
UNI
MUL
•
Î
Î
Î
Anzeige in der Tabelle
Primärschlüssel
eindeutiger Schlüssel
gewöhnlicher Schlüssel
Mehr Informationen über die Schlüssel kann durch das folgende Kommando
abgefragt werden:
SHOW INDEX FROM <Tabellenname>;
30
MySQL – Indizes
Beispiel
CREATE TABLE bewohner (
vorname VARCHAR(50) NOT NULL,
name VARCHAR(50) NOT NULL,
ausweisnummer VARCHAR(30) NOT NULL,
strassenname VARCHAR(50) NOT NULL,
familienstand SET ('verheiratet','verwitwet','ledig','geschieden'),
geschlecht SET ('männlich','weiblich') NOT NULL,
anzahl_kinder INT NOT NULL,
stadt VARCHAR(50),
PRIMARY KEY (ausweisnummer));
31
MySQL - Indizes
•
Schlüssel löschen:
Um einen Schlüssel löschen zu können, muss dessen Namen in Erfahrung gebracht
werden. Der Name eines Schlüssels kann auch anonym vergeben worden sein.
ALTER TABLE DROP INDEX <Index-Name>;
z.B.:
ALTER TABLE DROP INDEX b;
ALTER TABLE DROP PRIMARY KEY;
32
Übung 0 – MySQL
• Erzeugen sie ein ERP-Diagramm, dass
Bewohner und Strassen beschreibt.
• Stellen sie die Beziehungen dar.
• Das Modell soll später für eine
kartografische Suche nach Bewohnern
dienen bzw. Straßen hilfreich sein.
33
Übung 1 – MySQL DDL
•
Erzeugen sie eine Staatentabelle in MySQL mit folgenden Spalten:
Î Laufende Nummer
Î Kartenausschnitt
Î Anzahl der Staatsangehörigen
Î Anzahl der Städte
Î Größe des Staates
Î Kontinent des Staates
Î Lage der Hauptstadt
Î und einen primären Schlüssel
•
Vorüberlegung: Datentypen der Attribute
34
Übung 1 – MySQL DDL
•
Erzeugen sie eine Bewohnertabelle mit folgenden Spalten:
Î Vorname
Î Nachname
Î Postleitzahl
Î Stadt
Î Straße
Î Hausnummer
Î Familienstand
Î Anzahl der Kinder
Î Alter
Î Eigentümer
Î Flurstücknummern
•
Vorüberlegung: Sinnvolle Datentypen der Attribute
35
Übung 2 – MySQL DDL
• Nennen sie die Tabellen um in:
staatentabelle Æ strassen
bewohnertabelle Æ bewohner
• Und erstellen sie zu beiden Tabellen noch einen
eindeutigen Primär-Schlüssel.
• Lassen sie sich die Tabellendefinition anzeigen.
• Löschen sie die beiden Tabellen aus der
Datenbank wieder.
36
Übung 3 – Tabelle erstellen und
modifizieren
1.
Erzeugen sie eine Tabelle in der Datenbank namens „people“ mit einem Feld „name“ des Typs
„VARCHAR“ (50 Zeichen lang) und einem Feld für „email“ des Typs CHAR (100 Zeichen lang).
2.
Ändern sie die Tabelle um, indem sie ein Feld mit Namen „phone“ hinzufügen. Das Feld soll
den Typ VARCHAR haben, 50 Zeichen lang sein und unmittelbar nach dem Feld „name“
erscheinen.
3.
Das Feld „name“ auf 100 Zeichen vergrößern, einen nicht eindeutigen Schlüssel für dieses
Feld soll hinzugefügt werden und der Name des Feldes „email“ soll in „email_adresse“
geändert werden.
4.
Lassen sie sich die Tabellenbeschreibung anzeigen.
37
Herunterladen