Dieser Tutorial zeigt grundlegende Syntax und Befehle und der SQL Sprache.
Zuerst lassen Sie uns sehen, welche Datenbanken bereits im MySQL Bediener bestehen. Wir können diese Informationen ansehen, indem wir den ERSCHEINEN-Befehl verwenden. Betreten Sie das folgende (ausgenommen das mysql > das Teil) in den MySQL Konsole Klienten, gefolgt von einer Rückkehr:
mysql > ERSCHEINEN-DATENBANKEN;
es gibt zwei Datenbanken, die bereits im MySQL Bediener verursacht werden. Die mysql Datenbank enthält Leitung Informationen für den MySQL Bediener und sollte nicht geändert werden. Wie die andere Datenbank, Test, ist genau, was sie klingt: ein Test für den MySQL Bediener. Die Testdatenbank enthält nicht nichts, und sie kann sicher wenn erforderlich entfernt werden.
So wie fügen wir unsere eigene Datenbank im MySQL Bediener hinzu? Um dies zu tun, verwenden wir den VERURSACHENBEFEHL. Lassen Sie uns uns sagen möchten eine Datenbank verursachen, die mydata genannt wird; wir würden die folgende Syntax verwenden.
| Anmerkung | Die folgende Tabelle verzeichnet die Länge und Buchstabe Beschränkungen, die den Namen der Datenbanken, der Tabellen, der Spalten und der Namensabkürzungen auferlegt werden. |
| Bezeichner | Maximale Länge | Gültige Buchstaben |
|---|---|---|
| Datenbank | 64 | Alle gültigen Verzeichnisnamebuchstaben schließen "." aus und "/". |
| Tabelle | 64 | Alle gültigen Verzeichnisnamebuchstaben schließen "." aus und "/". |
| Spalte | 64 | Alle sind gültig. |
| Alias | 15 | Alle sind gültig. |
mysql > VERURSACHEN DATENBANK mydata;
|
|
Beachten Sie, daß der Semicolon nach jedem Befehl in der SQL Sprache hinzugefügt wird. Wenn wir Rückkehr betätigen, nachdem wir diesen Befehl eingetragen haben, informiert die Konsole uns, daß die Frage okay war.
Nun da wir die Datenbank verursacht haben, können wir sie sicherstellen sind auf dem Bediener, indem wir wieder den ERSCHEINEN-Befehl verwenden, wie folgt:
mysql > ERSCHEINEN-DATENBANKEN;
Wenn wir Rückkehr mit diesem Befehl betätigen, können wir sehen, daß unsere Datenbank der Liste hinzugefügt worden ist (Anmerkung, daß die Liste in alphabetischer Reihenfolge, nicht der Auftrag ist, in dem die Datenbanken verursacht wurden).
Jetzt entfernen wir die Datenbank vom Bediener. Merken Sie das, wenn wir dies tun, alle Daten (falls vorhanden) ist verloren. Um eine Datenbank zu entfernen, "lassen" wir sie vom Bediener fallen indem wir den TROPFEN-Befehl verwenden. , unsere neue mydata Datenbank so fallenzulassen, würden wir den folgenden Befehl verwenden:
mysql > TROPFEN-DATENBANK mydata;
Wenn wir diesen Befehl durch betätigende Rückkehr durchführen, wird die Frage als o.k. berichtet.
Jetzt wenn wir wieder die Datenbanken mit dem ERSCHEINEN-Befehl verzeichnen:
mysql > ERSCHEINEN-DATENBANKEN;
... können wir sehen, daß unsere mydata Datenbank nicht mehr auf der Liste sichtbar ist.
Bevor wir die Kreation der Tabellen innerhalb der Datenbanken besprechen, ist jetzt eine gute Zeit, die unterschiedlichen Spalte Arten zu erwähnen, die wir in den Tabellen haben können.
Jede Spalte in einer Tabelle muß eine Art zugewiesen werden, die die Art der Informationen darstellt, das wird halten auffangen. Ist hier eine komplette Liste der vorhandenen Arten, die Sie benutzen können:
| Art | Beschreibung |
|---|---|
| TINYINT | Eine sehr kleine Ganzzahl. Unterzeichnete Strecke ist 128 bis 127. Nicht unterzeichnete Strecke ist 0 bis 255. |
| SMALLINT | Eine kleine Ganzzahl. Unterzeichnete Strecke ist 32768 bis 32767. Nicht unterzeichnete Strecke ist 0 bis 65535. |
| MEDIUMINT | Eine mittelgrosse Ganzzahl. Unterzeichnete Strecke ist 8388608 bis 8388607. Nicht unterzeichnete Strecke ist 0 bis 16777215. |
| INTERN | Eine normale sortierte Ganzzahl. Unterzeichnete Strecke ist 2147483648 bis 2147483647. Nicht unterzeichnete Strecke ist 0 bis 4294967295. |
| BIGINT | Eine großformatige Ganzzahl. Unterzeichnete Strecke ist 9223372036854775808 bis 9223372036854775807. Nicht unterzeichnete Strecke ist 0 bis 18446744073709551615. |
| HIN- UND HERBEWEGUNG | Ein kleines, Einzelnpräzision Gleitkommazahl, die nicht nicht unterzeichnet sein kann. Unterzeichnete Strecke ist 3.402823466E+38 zum 1.755494351E.38, zu 0 und zu 1.755494351E.38 zu 3.402823466E+38. |
| DOPPELTES | Eine doppelt genaue Gleitkommazahl, die nicht nicht unterzeichnet sein kann. Unterzeichnete Strecke ist 1.7976931348632157E+308 zum 2.2250738585072014E.308, zu 0 und zu 2.2250738585072014E.308 zu 1.7976931348632157E+308. |
| DEZIMAL | Eine ungepackte Gleitkommazahl, die nicht nicht unterzeichnet sein kann. Arbeiten wie eine "Putzfrau" Spalte in der die Zahl wird als Zeichenkette gespeichert (d.h., benutzt jede Zahl einen Buchstaben in der Zeichenkette). |
| DATUM | Ein Datum. Strecke ist 1000-01-01 bis 9999-12-31 und ist im Format YYYY-MM-DD. |
| ZEIT | Eine Zeit. Strecke ist 838:59:59 bis 838:59:59 und ist im Format HH:MM:SS. |
| DATETIME | Eine Kombination des Datums und der Zeit. Strecke ist 1000-01-01 00:00:00 bis 9999-12-31 21:59:59 und ist im Format YYYY-MM-DD HH:MM:SS. |
| YEAR[(2|4) ] | Ein Jahr in 2 oder 4-digit Format (Rückstellung ist 4). Strecke ist 1901 bis 2155 und 0000 auch. |
| ZEITSTEMPEL | Ein Zeitstempel. Strecke ist 1970-01-01 00:00:00 zu einmal im Jahr 2037 im Format YYYYMMDDHHMMSS. |
| CHAR(length) | Eine längenkonstante Zeichenkette, die immer mit Räumen zur spezifizierten Länge recht-aufgefüllt wird, wenn sie gespeichert wird. Die Strecke ist 1 bis 255 Buchstaben abhängig von der "spezifizierten Länge". |
| VARCHAR | Eine mit variabler Längezeichenkette. |
| TINYBLOB/ TINYTEXT | Ein kleiner binärer Gegenstand. Maximale Länge von 255 Buchstaben. * Sehen Sie ANMERKUNG unter Tabelle. |
| BLOB/TEXT | Ein binärer Gegenstand. Maximale Länge von 65535 Buchstaben. * Sehen Sie ANMERKUNG unter Tabelle. |
| MEDIUMBLOB/ MEDIUMTEXT | Ein mittlerer binärer Gegenstand. Maximale Länge von 16777215 Buchstaben. * Sehen Sie ANMERKUNG unter Tabelle. |
| LONGBLOB/ LONGTEXT | Ein großer binärer Gegenstand. Maximale Länge von 4294967295 Buchstaben. * Sehen Sie ANMERKUNG unter Tabelle. |
| ENUM('val1 ', ' val2 '...) | Eine Aufzählung. Eine Liste der Zeichenkettewerte, von denen nur man vorgewählt werden kann. Maximum von 65535 eindeutigen Werten. |
| SET('val1 ', ' val2 '...) | Ein Satz. Ein Zeichenkettegegenstand, der null oder mehr Werte haben kann, von denen jeder von der Liste gewählt werden muß (d.h., ' val1 ', ' val2 ', etc.). Maximum von 64 Buchstaben. |
| Anmerkung | Der einzige Unterschied zwischen den BLOB- und TEXT-Arten ist der für das Sortieren und Vergleiche, ein BLOB ist Schachtel-empfindlich, während die TEXT-Art nicht Schachtel-empfindlich ist. |
Nun da wir die möglichen Arten für die Spalten in unseren Tabellen kennen, lassen Sie uns betrachten, wie wir wirklich über das Herstellen einer Tabelle gehen.
Lassen Sie uns sagen, daß wir eine Tabelle herstellen möchten, um einige Benutzersonderkommandos innerhalb einer Datenbank zu halten.
Wir möchten den Titel des Benutzers, Vornamen, Familienname, Alter, E-mail Adresse speichern, und das Datum, das der Benutzer der Datenbank hinzugefügt wurde. So benötigen wir die folgenden Spalten in unserer Tabelle:
Titel Firstname Familienname-Alter EmailAddress DateAdded
Bevor wir erhalten in, wie man es wirklich, lassen uns denken zuerst addiert, wie wir das information.or zum Punkt mehr speichern werden, welche Arten wir für jede der Spalten benötigen.
Für den Titel, den Vornamen und den Familiennameen können wir die TEXT-Art benutzen, da sie viel der Buchstaben enthält, um alle Möglichkeiten zuzulassen.
| Anmerkung | VARCHAR kann schneller arbeiten und ist möglicherweise eine bessere Wahl, wenn der Zeichenkettelänge eingeschränkt werden kann weniger als 255 Buchstaben. |
Für Alter würde ein nicht unterzeichnetes TINYINT eine offensichtliche Wahl sein, da Alter numerisch ist und niemand überhaupt bekannt, um hinter 255 zu leben. Für E-mail Adresse können wir eine TEXT-Art wieder benutzen, da sie uns erheblichen Speicherplatz für die Adresse gibt. Schließlich für das Datum, daß der Benutzer dem Tabelle hinzugefügt wurde, können wir einen ZEITSTEMPEL benutzen.
| Anmerkung | Mit Java ist es möglich, eine INTERNE Datenart zu benutzen und System.currentTimeMillis()/1000 als der Wert zu speichern. Dieser Wert kann von der Datenbank später geholt werden. Dann multiplizieren Sie ihn bis zum 1000 und wandeln Sie ihn in die DATUM-Art um (d.h., Datum = neues Date(value);). Dieses ist nützlich, wenn man Lokalisation und/oder Umwandlung zwischen unterschiedlichen Datenbanken tut |
Der ZEITSTEMPEL hat auch eine große Eigenschaft dadurch, daß die Zeit und das Datum in die Datenbank automatisch zurückgeholt werden können.
Nun da wir wissen, welche Arten wir für unsere Spalten wünschen, müssen wir eine Datenbank verursachen, um die Tabelle in hinzuzufügen. Lassen Sie uns eine Datenbank verursachen, die myinfo mit dem folgenden Befehl genannt wird:
mysql > VERURSACHEN DATENBANK myinfo;
Wenn wir diesen Befehl durchführen, sollte die Konsole berichten, daß die Frage okay war. Wir können jetzt prüfen, ob unsere Datenbank mit dem folgenden Befehl verursacht worden ist:
mysql > ERSCHEINEN-DATENBANKEN;
Jetzt müssen wir MySQL erklären, daß wir Tätigkeiten auf der myinfo Datenbank durchführen möchten. Dieses wird vollendet, indem man den GEBRAUCH-Befehl verwendet:
mysql > GEBRAUCH myinfo;
| Anmerkung | Ohne GEBRAUCH sollten alle Tabellen in der myinfo Datenbank als myinfo.mytable gekennzeichnet, das selbstverständlich ziemlich ungünstig ist. |
Nach der Durchführung dieses Befehls, beeinflussen alle mögliche DDL (Dateidefinitionssprache) und DML (Datenbehandlungssprache) Aussagen, die durchgeführt werden, die Datenbank im Gebrauch, der in diesem Fall unsere myinfo Datenbank ist.
Nun da wir unsere Datenbank aufstellen und vorbereiten lassen, um Befehle anzunehmen, können wir unsere Tabelle (die wir userinfo nennen), mit der folgenden Aussage herstellen:
mysql > VERURSACHEN TABELLE userinfo (- > Kennzeichnung INTERNES auto_increment, - > Titel TEXT, - > firstname TEXT, - > Familienname TEXT, - > Alter TINYINT, - > email TEXT, - > dateadded ZEITSTEMPEL, - > PRIMÄRKEY(id));
| Anmerkung | auto_increment ist nicht eine Standard-SQL Wahl. MSSQL (Microsoft SQL) hat eine ähnliche Wahl und also tut Postgre, aber Orakel hat nicht eine Weise, dies zu tun da eine verursachentabelle Wahl. Es muß mit Reihenfolgen und Auslösern getan werden. |
Lassen Sie uns dieses herauf wenig brechen, also können wir sehen, was geschieht. Zuerst erklären wir, daß wir eine Tabelle, indem wir hereinkommen, herstellen möchten HERSTELLEN TABELLE. Zunächst spezifizieren wir den Namen, daß wir die Tabelle benennen möchten; in diesem Fall ist der Name userinfo. Dann verwenden wir Klammern, um alle Spalten zu enthalten, die wir in unserer Tabelle benötigen und verzeichnen einfach alle von Spalte von und Arten, die wir benötigen. Anmerkung, wie wir Extrakosten addiert haben, fangen genannte Kennzeichnung auf. Schließlich merken Sie die Hinzufügung des Primärschlüssels als der letzte Parameter. Dieses wird verwendet, um festzustellen, wie die Tabelle innerhalb der Datenbank optimiert wird.
Wir können jetzt prüfen, ob unsere Tabelle erfolgreich hergestellt wurde, indem man den folgenden Befehl durchführte:
mysql > ERSCHEINEN-TABELLEN;
Anmerkung können Sie die Spalten in einer Tabelle auch ansehen, indem Sie den folgenden Befehl verwenden:
mysql > BESCHREIBEN userinfo;
Wenn Sie diesen Befehl durchführen, zeigt die Konsole alle Details für jede der Spalten in der userinfo Tabelle an.
Diese Informationen können für beide nützlich sein, welche die Tabelle sicherstellen, wurden verursacht als Sie sich vorstellten und die Spalten besohlen, die eine Tabelle zu einem späteren Zeitpunkt enthält.
So, nun da wir eine Tabelle herstellen können, lassen uns betrachten, wie wir über das Ändern sie gehen. Das Ändern einer Tabelle kann von die Art von einer der Spalten zum Addieren einer vollständig neuen Spalte (oder zum Entfernen einer vorhandenen Spalte) einfach ändern reichen.
Lassen Sie uns erster Blick an, wie wir den Namen einer vorhandenen Spalte ändern. In unserer userinfo Tabelle haben wir eine Spalte, die firstname genannt wird, aber lassen uns jetzt dieses ändern, um Forename, ein Synonym zu lesen für den Vornamen einer Person.
Um diese Änderung vorzunehmen, müssen wir die folgende Syntax verwenden:
mysql > ÄNDERN TABELLE userinfo ÄNDERUNG firstname Forename TEXT;
| Spitze | Es wird immer in hohem Grade empfohlen, um die Datenbank zu entwerfen, bevor man sie verursacht, weil es Datenbanktabellen oder -struktur der Probleme modifying/altering geben kann, nachdem es die Daten gibt, die in den Tabellen eingesetzt werden. |
Anmerkung müssen wir die Datenart für die Spalte sowie seine alten und neuen Namen auch liefern.
Wenn wir die userinfo Tabelle mit dem folgenden beschreiben, befehlen Sie:
mysql > BESCHREIBEN userinfo;
... können wir sehen, daß das Spalte firstname zum Forename umbenannt worden ist.
Wir können die Datenarten der Spalten in den Tabellen auch ändern. Lassen Sie uns sagen, daß wir die Alter Spalte von einem TINYINT zu einem INTERNEN ändern möchten. Wir würden den folgenden Befehl verwenden:
mysql > ÄNDERN TABELLE userinfo ÄNDERN das INTERNE Alter;
Nach der Durchführung dieses Befehls, wenn wir die Tabelle beschreiben, können wir sehen, daß die Art zu INTERNEM geändert hat.
Schließlich ist es gut, zu können entfernen auffängt von einer Tabelle (zum Beispiel, wenn sie nicht mehr angefordert werden). Lassen Sie uns jetzt sagen, daß wir nicht mehr die E-mail auffangen in unserer userinfo Tabelle benötigen. Was wir tun möchten, soll auffangen von unserer Tabelle "fallenlassen". Ist hier die Syntax für das Entfernen der E-mail auffangen.
mysql > ÄNDERN TABELLE userinfo TROPFEN-EMAIL;
Sobald dieser Befehl durchgeführt wird, beschreiben wir die Tabelle mit dem folgenden Befehl:
mysql > BESCHREIBEN userinfo;
Tabellen von einer Datenbank zu entfernen ist sehr einfach, aber ohne vorsichtigen Gebrauch kann es verhängnisvolle Effekte haben. Die Hauptsache zur Anmerkung ist, daß, wenn Sie eine Tabelle fallenlassen, Sie auch alle Daten verlieren, die innerhalb der Tabelle enthalten werden. Vor der Durchführung irgendwelcher TROPFEN-Befehle folglich ist es immer klug, eine Datenbank zu unterstützen.
Lassen Sie uns jetzt betrachten, wie wir die userinfo Tabelle von unserer myinfo Datenbank fallenlassen. Um dies zu tun, müssen wir den folgenden Befehl im MySQL Konsole Klienten durchführen.
| Anmerkung | Sie können nicht die Tabelle fallenlassen, wenn es
Sachzusammenhänge zu anderen Tabellen gibt, die die Vollständigkeit
der Datenbank brechen konnten. Wenn Relationen nicht "real
sind," können Tabellen ohne Störungen entfernt werden, aber die Vollständigkeit wird dann
verglichen. Wenn der Verwalter nicht achtgibt, kann die
Datenbank dauerhaft verdorben werden.
mysql > TROPFEN-TABELLE userinfo; |
Sobald dieser Befehl durchgeführt wird, können wir prüfen, ob die Tabelle durch die Registrierung entfernt worden ist, was sind z.Z. in unserer myinfo Datenbank verlegt, indem es den folgenden Befehl durchführt:
mysql > ERSCHEINEN-TABELLEN;
Die Tabelle besteht nicht mehr in der Datenbank.
Online: 875 users browsing the articles directory
|
|