Angenommen, Sie haben viele Haustiere in Ihrem Zuhause (Ihrem „Zoo“) und möchten verschiedene Arten von Informationen über sie verfolgen. Sie können Ihre Daten speichern, indem Sie Tabellen erstellen und diese mit den erforderlichen Informationen laden. Anschließend können Sie Daten aus den Tabellen abrufen, um Fragen zu verschiedenen Tierarten zu beantworten. In diesem Abschnitt wird gezeigt, wie Sie all diese Dinge tun:
·Datenbank erstellen
·Datenbanktabelle erstellen
·Daten in Datenbanktabelle laden
·Jeder Eine Möglichkeit, Daten aus einer Tabelle abzurufen
· Verwendung mehrerer Tabellen
Die Zoo-Datenbank ist (absichtlich) einfach, aber es ist nicht schwer, sie sich als eine reale Situation vorzustellen, in der ähnliche Datenbanken vorhanden sind könnte verwendet werden. Beispielsweise könnte ein Landwirt eine solche Datenbank verwenden, um den Viehbestand zu verfolgen, oder ein Tierarzt könnte damit Aufzeichnungen über kranke Tiere verfolgen. Die Zoo-Distribution mit einigen Abfragen und Beispieldaten, die in späteren Kapiteln verwendet werden, ist auf der MySQL-Website verfügbar. Es gibt das Tar-Komprimierungsformat (http://downloads.mysql.com/docs/menagerie-db.tar.gz) und das Zip-Komprimierungsformat (http://downloads.mysql.com/docs/menagerie-db.zip).
Verwenden Sie die SHOW-Anweisung, um herauszufinden, welche Datenbanken derzeit auf dem Server vorhanden sind:
mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | | tmp | +----------+
Vielleicht ist die Liste der Datenbanken auf Ihrem Computer anders, aber es ist wahrscheinlich, dass es MySQL und gibt Testdatenbanken. MySQL ist erforderlich, da es Benutzerzugriffsrechte beschreibt und die Testdatenbank häufig als Arbeitsbereich verwendet wird, in dem Benutzer ihre Fähigkeiten testen können.
Bitte beachten Sie, dass Sie ohne SHOW DATABASES-Berechtigung nicht alle Datenbanken sehen können.
Wenn die Testdatenbank vorhanden ist, versuchen Sie, darauf zuzugreifen:
mysql> USE test Database changed
Beachten Sie, dass USE wie QUIT kein Semikolon erfordert. (Sie können eine solche Anweisung bei Bedarf mit einem Semikolon abschließen; das ist in Ordnung.) Die USE-Anweisung hat noch eine weitere Besonderheit: Sie muss in einer einzelnen Zeile angegeben werden.
Sie können die Testdatenbank in späteren Beispielen verwenden (sofern Sie Zugriff darauf haben), aber alles, was Sie in dieser Datenbank erstellen, kann von jedem anderen gelöscht werden, der darauf zugreift. Sie sollten daher Ihren MySQL-Administrator um Lizenzen bitten eine eigene Datenbank zu nutzen. Angenommen, Sie möchten Ihre Menagerie aufrufen, muss der Administrator einen solchen Befehl ausführen:
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
wobei Ihr_MySQL-Name der Ihnen zugewiesene MySQL-Benutzername ist und Ihr_Client_Host der Host ist, auf dem sich der verbundene Server befindet.
Wenn Ihr Administrator beim Einrichten der Berechtigungen die Datenbank für Sie erstellt hat, können Sie mit der Verwendung beginnen. Andernfalls müssen Sie die Datenbank selbst erstellen:
mysql> CREATE DATABASE menagerie; Der Zugriff muss immer als Menagerie erfolgen, nicht als Menagerie, MENAGERIE oder eine andere Variable. Das Gleiche gilt für Tabellennamen. (Unter Windows gilt diese Einschränkung nicht, obwohl Sie in einer bestimmten Abfrage die gleiche Groß-/Kleinschreibung verwenden müssen, um auf die Datenbank und die Tabelle zu verweisen. Aus mehreren Gründen empfiehlt es sich jedoch, immer die gleiche Groß-/Kleinschreibung wie bei der Datenbank zu verwenden erstellt. Gleicher Fall wie .)
Die Datenbank muss nur einmal erstellt werden, sie muss jedoch vor der Verwendung jedes Mal ausgewählt werden, wenn Sie eine MySQL-Sitzung starten. Sie können dies tun, indem Sie eine USE-Anweisung basierend auf dem obigen Beispiel ausführen. Sie können die Datenbank auch über die Befehlszeile auswählen, wenn Sie MySQL aufrufen. Sie müssen lediglich den Datenbanknamen angeben, nachdem Sie die Verbindungsparameter angegeben haben. Zum Beispiel:
mysql> USE menagerie Database changed
Beachten Sie, dass es sich bei der gerade angezeigten Menagerie in der Befehlszeile nicht um Ihr Passwort handelt. Wenn Sie in der Befehlszeile nach der Option -p ein Passwort angeben möchten, können Sie keine Leerzeichen einfügen (z. B. wie bei -pmypassword, nicht bei -p mypassword). Es wird jedoch nicht empfohlen, das Passwort in der Befehlszeile einzugeben, da das Passwort dadurch anderen am Computer angemeldeten Benutzern zugänglich gemacht wird.
shell> mysql -h host -u user -p menagerie Enter password: ********