Heim > Datenbank > MySQL-Tutorial > Hauptteil

Grundlagen der SQL-Datenoperationen (Grundkenntnisse) 4

黄舟
Freigeben: 2016-12-17 14:31:06
Original
887 Leute haben es durchsucht

Erstellen Sie eine neue Tabelle mit SQL

Hinweis:

Wenn Sie noch keine eigene Datenbank erstellt haben, springen Sie jetzt zurück zu Kapitel 3, um diese Bibliothek zu erstellen. Sie dürfen keine Daten zu Master, Tempdb oder einer anderen Systemdatenbank hinzufügen.

Aus SQL Starten Sie das Programm ISQL/w in der Programmgruppe Sever (in der Taskleiste). Wenn das Abfragefenster erscheint, wählen Sie aus der Dropdown-Liste oben im Fenster die Datenbank aus, die Sie in Kapitel 3 erstellt haben. Geben Sie als Nächstes die folgende SQL-Anweisung in das Abfragefenster ein und klicken Sie auf die Schaltfläche „Abfrage ausführen“, um diese Anweisung auszuführen:

CREATE TABLE Gästebuch (Besucher VARCHAR(40),Kommentare TEXT,Eintragsdatum

DATETIME)

Wenn alles normal ist, sehen Sie im Ergebnisfenster den folgenden Text (falls eine Ausnahme auftritt, lesen Sie bitte Kapitel 3):

Dies Der Befehl gab keine Daten zurück und es wurden keine Zeilen zurückgegeben

Herzlichen Glückwunsch, Sie haben Ihren ersten Tisch erstellt!

Die von Ihnen erstellte Tabelle heißt Gästebuch. Sie können diese Tabelle verwenden, um Informationen über Besucher Ihrer Website zu speichern. Sie verwenden REEATE Die durch die TABLE-Anweisung erstellte Tabelle besteht aus zwei Teilen: Der erste Teil gibt den Namen der Tabelle an; der zweite Teil besteht aus dem Namen und den Attributen jedes Felds in Klammern und durch Kommas getrennt.

Die Gästebuchtabelle hat drei Felder: Besucher, Kommentare und Eintrittsdatum. Das Besucherfeld speichert den Namen des Besuchers, das Kommentarfeld speichert die Meinungen des Besuchers zu Ihrer Website und das Eingabedatumsfeld speichert das Datum und die Uhrzeit, zu der der Besucher Ihre Website besucht hat.

Beachten Sie, dass jedem Feldnamen ein spezieller Ausdruck folgt. Beispielsweise folgt auf den Feldnamen „Kommentare“ der Ausdruck „TEXT“. Dieser Ausdruck gibt den Datentyp des Feldes an. Der Datentyp bestimmt, welche Art von Daten ein Feld speichern kann. Da die Feldkommentare Textinformationen enthalten, ist ihr Datentyp als Text definiert.

Felder gibt es in vielen verschiedenen Datentypen. Im nächsten Abschnitt werden einige wichtige Datentypen beschrieben, die von SQL unterstützt werden.

Feldtyp

Verschiedene Feldtypen werden zum Speichern verschiedener Datentypen verwendet. Wenn Sie Tabellen erstellen und verwenden, sollten Sie die fünf häufig verwendeten Feldtypen verstehen: Zeichen, Text, numerisch, logisch und Datum.

Charakterdaten

Charakterdaten sind sehr nützlich. Wenn Sie kurze Zeichenfolgeninformationen speichern müssen, verwenden Sie immer Zeichendaten. Sie könnten zum Beispiel den HTML-Code nehmen Die im Textfeld des Formulars gesammelten Informationen werden im Zeichenfeld platziert.

Um ein Feld zum Speichern von Zeichenfolgeninformationen variabler Länge zu erstellen, können Sie einen Ausdruck verwenden VARCHAR. Betrachten Sie die zuvor erstellte Gästebuchtabelle:

TABELLE Gästebuch erstellen (Besucher VARCHAR(40),Kommentare TEXT,Eintragsdatum

DATETIME)

In diesem Beispiel ist der Datentyp des Feldbesuchers VARCHAR. Beachten Sie die Zahl in Klammern nach dem Datentyp. Diese Zahl gibt die maximale Länge der Zeichenfolge an, die in diesem Feld gespeichert werden darf. In diesem Beispiel kann das Besucherfeld eine Zeichenfolge mit bis zu vierzig Zeichen speichern. Wenn der Name zu lang ist, wird die Zeichenfolge auf vierzig Zeichen gekürzt.

Der Typ VARCHAR kann eine Zeichenfolge mit bis zu 255 Zeichen speichern. Um längere Zeichenfolgendaten zu speichern, können Sie Textdaten verwenden (im nächsten Abschnitt beschrieben).

Eine andere Art von Zeichendaten wird zum Speichern von Zeichendaten fester Länge verwendet. Hier ist ein Beispiel für die Verwendung dieses Datentyps:

CREATE TABLE Gästebuch (Besucher CHAR(40),Kommentare TEXT,Eintragsdatum

DATETIME)

In diesem Beispiel wird das Feld Besucher verwendet, um eine Zeichenfolge fester Länge von vierzig Zeichen zu speichern. Der Ausdruck CHAR gibt an, dass dieses Feld eine Zeichenfolge fester Länge sein soll.

Der Unterschied zwischen VARCHAR- und CHAR-Daten ist subtil, aber sehr wichtig. Angenommen, Sie geben die Daten Bill in ein VARCHAR-Feld mit einer Länge von vierzig Zeichen ein. Tore. Wenn Sie diese Daten später aus diesem Feld abrufen, beträgt die Länge der abgerufenen Daten zehn Zeichen – die Zeichenfolge Bill Die Länge von Gates.

Wenn Sie nun eine Zeichenfolge mit einer Länge von vierzig Zeichen in ein CHAR-Feld eingeben, beträgt die Länge der abgerufenen Daten beim Abrufen der Daten vierzig Zeichen. Am Ende der Zeichenfolge werden zusätzliche Leerzeichen angehängt.

Wenn Sie Ihre eigene Website erstellen, werden Sie feststellen, dass es viel bequemer ist, VARCHAR-Felder als CHAR-Felder zu verwenden. Wenn Sie VARCHAR-Felder verwenden, müssen Sie sich keine Gedanken über das Entfernen zusätzlicher Leerzeichen in Ihren Daten machen.

Ein weiterer herausragender Vorteil des VARCHAR-Felds besteht darin, dass es weniger Arbeitsspeicher und Festplattenspeicher beansprucht als das CHAR-Feld. Diese Speicher- und Festplattenspeichereinsparung ist sehr wichtig, wenn Ihre Datenbank groß ist.

Textdaten

Zeichendaten begrenzen die Länge der Zeichenfolge auf nicht mehr als 255 Zeichen. Mit Textdaten können Sie Zeichenfolgen mit mehr als zwei Milliarden Zeichen speichern. Textdaten sollten verwendet werden, wenn Sie große Zeichenfolgen speichern müssen.

Hier ist ein Beispiel für die Verwendung von Textdaten:

ERSTELLEN TABLE Gästebuch (Besucher VARCHAR(40),Kommentare TEXT,Eintragsdatum

DATUMZEIT)

In diesem Beispiel wird das Kommentarfeld verwendet, um die Meinungen der Besucher zu Ihrer Website zu speichern. Beachten Sie, dass Textdaten keine Länge haben, während die im vorherigen Abschnitt erwähnten Zeichendaten eine Länge haben. Die Daten in einem Textfeld sind normalerweise entweder leer oder sehr groß.

Wenn Sie von HTML ausgehen Wenn Sie Daten im mehrzeiligen Textbearbeitungsfeld (TEXTAREA) eines Formulars sammeln, sollten Sie die gesammelten Informationen in einem Textfeld speichern. Wann immer Sie die Verwendung von Textfeldern vermeiden können, sollten Sie sie jedoch nicht verwenden. Textfelder sind groß und langsam, und eine übermäßige Nutzung von Textfeldern kann Ihren Server verlangsamen. Textfelder verbrauchen außerdem viel Speicherplatz.

Warnung:

Sobald Sie Daten (auch einen Nullwert) in ein Textfeld eingeben, werden diesen Daten automatisch 2 KB Speicherplatz zugewiesen. Sie können diesen Speicherplatz nur zurückerhalten, wenn Sie den Datensatz löschen.

Numerische Daten

SQL Sever unterstützt viele verschiedene numerische Datentypen. Sie können ganze Zahlen, Dezimalzahlen und Geldbeträge speichern.

Wenn Sie Zahlen in einer Tabelle speichern müssen, verwenden Sie normalerweise Ganzzahldaten (INT). Der Tabellennummernbereich von Daten vom Typ INT ist eine Ganzzahl von -2.147.483.647 bis 2.147.483.647. Im Folgenden finden Sie ein Beispiel für die Verwendung von Daten vom Typ INT:

CREATE TABLE Visitlog (Besucher VARCHAR(40),numvisits INT)

Diese Tabelle kann verwendet werden, um die Anzahl der Besuche Ihrer Website aufzuzeichnen. Solange niemand Ihre Website mehr als 2.147.483.647 Mal besucht, kann das Feld nubvisits die Anzahl der Besuche speichern.

Um Speicherplatz zu sparen, können Sie Daten vom Typ SMALLINT verwenden. KLEININT Typdaten können Ganzzahlen von -32768 bis 32768 speichern. Die Verwendung dieses Datentyps ist genau die gleiche wie die des INT-Typs.

Wenn Sie schließlich wirklich Platz sparen müssen, können Sie Daten vom Typ TINYINT verwenden. Ebenso ist die Verwendung dieses Typs dieselbe wie die des INT-Typs, mit der Ausnahme, dass dieser Feldtyp nur Ganzzahlen von 0 bis 255 speichern kann. Felder vom Typ TINYINT können nicht zum Speichern negativer Zahlen verwendet werden.

Um Platz zu sparen, sollten im Allgemeinen so oft wie möglich die kleinsten ganzzahligen Daten verwendet werden. Daten vom Typ TINYINT belegen nur ein Byte; Daten vom Typ INT belegen vier Bytes. Dies scheint kein großer Unterschied zu sein, aber in größeren Tabellen nimmt die Anzahl der Bytes sehr schnell zu. Andererseits ist es schwierig, ein einmal erstelltes Feld zu ändern. Um auf der sicheren Seite zu sein, sollten Sie daher den maximal möglichen Wert vorhersagen, den ein Feld speichern muss, und dann den entsprechenden Datentyp auswählen.

Um mehr Kontrolle über die im Feld gespeicherten Daten zu haben, können Sie NUMERISCHE Daten verwenden, um sowohl den ganzzahligen Teil als auch den dezimalen Teil einer Zahl darzustellen. Mit NUMERIC-Daten können Sie sehr große Zahlen darstellen – viel größer als INT-Daten. Ein NUMERIC-Feld kann Zahlen im Bereich von -1038 bis 1038 speichern. Mit NUMERIC-Daten können Sie auch Zahlen mit Dezimalteilen darstellen. Beispielsweise können Sie die Dezimalzahl 3,14 in einem NUMERISCHEN Feld speichern.

Beim Definieren eines NUMERISCHEN Feldes müssen Sie sowohl die Größe des ganzzahligen Teils als auch die Größe des Dezimalteils angeben. Hier ist ein Beispiel für die Verwendung dieses Datentyps:

CREATE TABELLE numeric_data (große Zahl NUMERIC(28,0),

Bruch NUMERIC (5,4) )

Wenn diese Anweisung ausgeführt wird, wird eine Tabelle mit dem Namen numeric_data erstellt, die zwei Felder enthält. Das Feld bignumber kann Ganzzahlen bis zu 28 Bit speichern. Das Feld Bruch kann Dezimalzahlen mit einem fünfstelligen Ganzzahlteil und einem vierstelligen Dezimalteil speichern.

Der ganzzahlige Teil von Daten vom Typ NUMERIC darf nur maximal 28 Ziffern haben. Die Anzahl der Ziffern im Dezimalteil muss kleiner oder gleich der Anzahl der Ziffern im Dezimalteil sein kann Null sein.

Sie können Daten vom Typ INT oder NUMERIC verwenden, um den Geldbetrag zu speichern. Es gibt jedoch zwei weitere Datentypen, die speziell für diesen Zweck verwendet werden. Wenn Sie möchten, dass Ihr Geschäft viel Geld verdient, können Sie Daten vom Typ MONEY verwenden. Wenn Sie weniger ehrgeizig sind, können Sie Daten vom Typ SMALLMONEY verwenden. Daten vom Typ MONEY können Geld von -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 speichern. Wenn Sie größere Beträge speichern müssen, können Sie NUMERIC-Daten verwenden.

Daten vom Typ SMALLMONEY können nur von -214.748,3648 bis 214.748,3647 gespeichert werden Geldbetrag. Ebenso sollten Sie, wenn möglich, Daten vom Typ SMALLMONEY anstelle von Daten vom Typ MONEY verwenden, um Platz zu sparen. Das folgende Beispiel zeigt, wie diese beiden Datentypen zur Darstellung von Geld verwendet werden:

CREATE TABELLE Produkte (Produkt VARCHAR(40),Preis MONEY,

Discount_price SMALLMONEY)

In dieser Tabelle können der Rabatt und der normale Verkaufspreis von Produkten gespeichert werden. Feldpreis Der Datentyp von ist MONEY und der Datentyp des Felds discount_price ist SMALLMONEY.

Logische Werte speichern

Wenn Sie Kontrollkästchen (CHECKBOX) verwenden, um Informationen von Webseiten zu sammeln, können Sie diese Informationen in BIT-Feldern speichern. Felder vom Typ BIT können nur zwei Werte annehmen: 0 oder 1. Hier ist ein Beispiel für die Verwendung eines solchen Feldes:

CREATE TABELLE Meinung (Besucher VARCHAR(40),gut BIT)

In dieser Tabelle können Informationen aus Umfragen Ihrer Filialen gespeichert werden. Besucher können darüber abstimmen, ob ihnen Ihre Website gefällt. Stimmen sie mit JA, wird im BIT-Feld eine 1 gespeichert. Andernfalls, wenn sie mit NEIN stimmen, speichern Sie 0 im Feld (wie Sie Stimmen zählen, erfahren Sie im nächsten Kapitel).

Seien Sie vorsichtig, nachdem Sie eine Tabelle erstellt haben, können Sie der Tabelle keine BIT-Felder hinzufügen. Wenn Sie BIT-Felder in eine Tabelle aufnehmen möchten, müssen Sie dies beim Erstellen der Tabelle tun.

Datum und Uhrzeit speichern

Wenn Sie eine Website einrichten, möchten Sie möglicherweise die Anzahl der Besucher über einen bestimmten Zeitraum aufzeichnen. Um Datum und Uhrzeit speichern zu können, müssen Sie Daten vom Typ DATETIME verwenden, wie im folgenden Beispiel gezeigt:

CREATE TABL Besucherprotokoll( Besucher VARCHAR (40), Ankunftszeit DATETIME ,

Abfahrtszeit DATETIME)

Diese Tabelle kann verwendet werden, um die Uhrzeit und das Datum aufzuzeichnen, an dem Besucher Ihre Website betreten und verlassen. Ein Feld vom Typ DATETIME kann den Datumsbereich von der ersten Millisekunde des 1. Januar 1753 bis zur letzten Millisekunde des 31. Dezember 9999 speichern.

Wenn Sie nicht einen so großen Bereich an Datums- und Uhrzeitangaben abdecken müssen, können Sie Daten vom Typ SMALLDATETIME verwenden. Es wird auf die gleiche Weise wie Daten vom Typ DATETIME verwendet, mit der Ausnahme, dass der Datums- und Zeitbereich, den es darstellen kann, kleiner ist als Daten vom Typ DATETIME und es nicht so genau ist wie Daten vom Typ DATETIME. Ein Feld vom Typ SMALLDATETIME kann Datumsangaben vom 1. Januar 1900 bis zum 6. Juni 2079 speichern und kann nur sekundengenau sein.

Es ist wichtig zu wissen, dass DATETIME-Felder keine tatsächlichen Daten enthalten, bis Sie Datum und Uhrzeit eingeben. Im nächsten Kapitel erfahren Sie, wie Sie verschiedene SQL-Funktionen zum Lesen und Bearbeiten von Datums- und Uhrzeitangaben verwenden (siehe Abschnitt „Standardwerte“ weiter unten). Sie können auch VBScript und JScript verwenden Verwenden Sie die Datums- und Uhrzeitfunktionen, um ein Datum und eine Uhrzeit in ein DATETIME-Feld einzugeben.

Feldattribute

Im vorherigen Abschnitt wurde erläutert, wie eine Tabelle mit verschiedenen Feldtypen erstellt wird. In diesem Abschnitt erfahren Sie, wie Sie die drei Eigenschaften von Feldern nutzen. Mit diesen Eigenschaften können Sie Null-, Standard- und Identitätswerte steuern.

NULL-Werte sind erlaubt und verboten

Die meisten Felder können NULL-Werte akzeptieren. Wenn ein Feld einen Nullwert akzeptiert, bleibt es null, wenn Sie ihn nicht ändern. NULL ist etwas anderes als Null. Streng genommen bedeutet NULL kein Wert.

Damit ein Feld NULL-Werte akzeptieren kann, verwenden Sie nach der Felddefinition den Ausdruck NULL. Beispielsweise erlauben beide Felder in der folgenden Tabelle Nullwerte:

CREATE TABELLE leer (leer1 CHAR (40) NULL,leer2 INT NULL(

Hinweis:

Daten vom Typ BIT dürfen nicht null sein. Ein Feld dieses Typs muss 0 oder 1 sein.

Manchmal müssen Sie einem Feld die Verwendung von Null verbieten Angenommen, Sie haben eine Tabelle, in der Kreditkartennummern und Ablaufdaten gespeichert sind. Sie möchten nicht, dass jemand eine Kreditkartennummer, aber nicht das Ablaufdatum eingibt kann die Tabelle wie folgt erstellen:

ERSTELLEN TABELLE Kreditkarten (creditcard_number CHAR(20) NOT NULL,

Creditcard_expire DATETIME NOT NULL)

Beachten Sie, dass auf die Felddefinition der Ausdruck NOT NULL folgt. Durch Einbeziehung des Ausdrucks NOT Mit NULL können Sie verhindern, dass jemand Daten nur in ein Feld einfügt, ohne Daten aus einem anderen Feld einzugeben.

Sie werden feststellen, dass die Möglichkeit, Nullwerte zu deaktivieren, beim Aufbau Ihres eigenen Netzwerks sehr nützlich ist. Wenn Sie angeben, dass ein Feld keine Nullwerte akzeptieren kann, wird eine Fehlermeldung angezeigt, wenn Sie versuchen, einen Nullwert einzugeben. Diese Fehlerwarnungen können wertvolle Hinweise für das Programm-Debugging liefern.

Standardwert

Angenommen, es gibt eine Tabelle, in der Adressinformationen gespeichert sind. Die Felder dieser Tabelle umfassen Straße, Stadt, Bundesland, Postleitzahl und Land. Wenn Sie davon ausgehen, dass sich die meisten Adressen in den Vereinigten Staaten befinden, können Sie diesen Wert als Standardwert für das Länderfeld verwenden.

Um beim Erstellen einer Tabelle einen Standardwert anzugeben, können Sie den Ausdruck DEFAULT verwenden. Betrachten Sie das folgende Beispiel für die Verwendung von Standardwerten beim Erstellen einer Tabelle:

CREATE TABELLE Adressen (Straße VARCHAR(60) NULL,

Stadt VARCHAR(40) NULL,

Bundesland VARCHAR(20) NULL

zip VARCHAR(20) NULL,

Land VARCHAR(30) STANDARD „USA“)

In diesem Beispiel wird der Standardwert des Länderfelds als USA angegeben. Beachten Sie die Verwendung von einfachen Anführungszeichen, die darauf hinweisen, dass es sich um Zeichendaten handelt. Um einen Standardwert für ein Nicht-Zeichenfeld anzugeben, schließen Sie den Wert nicht in Anführungszeichen ein:

CREATE TABELLE Bestellungen (Preis GELD STANDARD 38,00 $,

Menge INT STANDARD 50,

Eintragsdatum DATETIME DEFAULT GETDATE())

in diesem CREATE In der TABLE-Anweisung wird jedem Feld ein Standardwert zugewiesen. Beachten Sie, dass der durch das Feld „Entrydate“ vom Typ DATETIME angegebene Standardwert der Rückgabewert der Funktion „Getdate()“ ist, die das aktuelle Datum und die aktuelle Uhrzeit zurückgibt.

Identifikationsfeld

Jede Tabelle kann ein oder nur ein Identifikationsfeld haben. Ein Identifikationsfeld ist ein spezielles Feld, das jeden Datensatz in einer Tabelle eindeutig identifiziert. Beispielsweise enthält die Jobs-Tabelle in der pubs-Datenbank ein Feld, das jeden Job eindeutig identifiziert:

job_id job_desc

……………………………………………………………….

Neu eingestellter Job nicht angegeben
Chief Executive Officer
Bushness Operations Manager
Finanzvorstand
Verleger
Das Feld job_id stellt für jeden Job eine eindeutige Nummer bereit. Wenn Sie sich entscheiden, einen neuen Job hinzuzufügen, wird dem Feld job_id des neuen Datensatzes automatisch ein neuer eindeutiger Wert zugewiesen.

Um ein Identifikationsfeld zu erstellen, müssen Sie nach der Felddefinition lediglich den Ausdruck IDENTITY hinzufügen. Sie können nur Felder vom Typ NUMERIC oder INT als Identifikationsfelder festlegen. Hier ist ein Beispiel:

CREATE TABELLE besucher-ID (theID NUBERIC(18) IDENTITY,name VARCHAR(40))

Die durch diese Anweisung erstellte Tabelle enthält ein Identifikationsfeld namens theid. Immer wenn ein neuer Besuchername zur Tabelle hinzugefügt wird, wird diesem Feld automatisch ein neuer Wert zugewiesen. Sie können diese Tabelle verwenden, um für jeden Benutzer Ihrer Website eine eindeutige Kennung bereitzustellen.

Tipps:

Achten Sie beim Erstellen eines Beschriftungsfelds darauf, einen ausreichend großen Datentyp zu verwenden. Wenn Sie beispielsweise Daten vom Typ TINYINT verwenden, können Sie der Tabelle nur 255 Datensätze hinzufügen. Wenn Sie damit rechnen, dass eine Tabelle sehr groß werden könnte, sollten Sie NUMERISCHE Daten verwenden.

Die Existenz des Identitätsfeldes wird Sie dazu bringen, viele unmögliche Dinge auszuprobieren. Beispielsweise möchten Sie möglicherweise ein Identifikationsfeld verwenden, um Operationen an Datensätzen basierend auf ihrer Position in der Tabelle durchzuführen. Sie sollten diese Absicht aufgeben. Der Wert des Identifikationsfelds jedes Datensatzes unterscheidet sich voneinander, dies schließt jedoch nicht das Vorhandensein von Lücken zwischen den Identifikationsnummern eines Identifikationsfelds aus. Sie sollten beispielsweise niemals versuchen, das Identifikationsfeld einer Tabelle zum Abrufen der ersten zehn Datensätze in der Tabelle zu verwenden. Dieser Vorgang führt zu einem Fehler, da beispielsweise Datensatz Nr. 6 und Datensatz Nr. 7 überhaupt nicht vorhanden sind.

Das Obige ist der Inhalt von SQL Data Operation Basics (Elementary) 4. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!