Schreiben von einem Brisbane-Programmierer, von einem zukünftigen Rechtsanwalt, von einem scharfen Historiker und eifrigen von einem Netz-Surfer

Terabell - Technologie, Gesetz, Programmierung und ein Lachen

5. Oktober 2007 am 2:57 P.M.

Die Spitzenneun wichtigsten SQL-Schlüsselwörter; Was sie bedeuten und wie man sie verwendet

EMail, Rate, bookmarken dieses

 Nachdem ich online zu den Tausenden Ersuchen um programmierenhilfe beigetragen habe und persönlich habe ich viele Theorien und Ideen über, wie Leute die Programmierung erlernen sollten und wie sie die Probleme betrachten sollten, dass sie sich innen finden.  Dieser Pfosten ist der erste von vielen, die allgemein gebetene Probleme untersuchen und Tips geben, dass, wenn Sie gelesen werden, einige von ihnen lösen sollte. 

Viel meiner Erfahrung zentriert um SQL-Datenbanken und da so einer der Bereiche ist, in denen ich denke, sollten Leute die zentralen Ideen verstehen, bevor sie anfangen, Fragen von anderen zu stellen. Begrifflich gibt es 10 Hauptschlüsselwörter in allen Varianten der SQL-Sprache, die verwendet werden, um zu verursachen ändern und zerstören Tabellen und Datenbanken; und zum Eingang, ändern Sie und entfernen Sie Daten von jenen Tabellen.

Sie sind nur bereit, mit Ihrem SQL weiterzukommen, wenn Sie diesen vollständigen Artikel lesen und in der Lage sein können, die Wörter unten zu identifizierenen, mehr, als zu schreiben geschrieben wird, erklären Sie, was sie bedeuten und sie in Ihrer Datenbank der Wahl ohne Hinweis auf anderen Quellen verwenden Sie.  (die meisten meinen Beispielen sind angestrebtes ANSI Standard-SQL oder mySQL), gibt es viel mehr, die auf diesen Themen gelesen werden können, aber ist unten die bloßen Notwendigkeiten, die benötigt werden, um Sie vorbei zu erhalten.

 

1. STELLEN SIE TABELLE HER

Bevor Sie mit dem Arbeiten mit Daten beginnen können, benötigen Sie einen Behälter, ihn innen zu speichern.  Der Behälter in einer SQL-Datenbank wird eine Tabelle genannt.  Dieses ist eine Reihe Reihen (wo jedes Einzelteil von Daten gespeichert wird) und Spalten, die von den verschiedenen Datenarten sind, die benutzt werden, um die bestimmte Reihe zu identifizierenen und die Daten zu enthalten.  Die SCHAFFUNG-Aussage ermöglicht einer Tabelle gebildet zu werden und spezifiziert alle mögliche Richtlinien über, was in der Tabelle enthalten werden können (und wie es registriert werden können). 

Da dieses ein grundlegendes ist, führen Sie; Ich umreiße gerade ein einfaches verursache Aussage und was die Bestandteile bedeuten;

VERURSACHEN Sie TABELLE your_table_name (einen INT NICHT UNGÜLTIG, b VARCHAR (20));

Dieses stellt eine Tabelle her, die your_table_name mit zwei Spalten genannt wird, das eine ganze Zahl ist, die keine ungültigen Werte und b erlaubt, das eine Schnur ist, die Buchstaben bis zu einer Länge von 20 enthalten kann.

Anmerkung; es gibt andere Wahlen,

  • Sie können Argumente haben, die spezifizieren, um die Tabelle herzustellen, wenn sie nicht bereits existiert.
  • Tabellen können hergestellt werden, die wie andere Tabellen sind (ihre Definition kopierend)
  • Tabellen können hergestellt werden, indem man eine auserwählte Aussage verwendet und die Daten kopiert, die von ihr zurückgebracht werden
  • Temporäre Tabellen sind die, die nicht zur Scheibe geschrieben werden und dauerhaft wie Tabellen ohne das temporäre Schlüsselwort gehalten, und sind nicht entworfen, dauerhaft zu sein.
  • Begrenzungen und Anmerkungen können Spalten und dem Tabelle als Ganzes hinzugefügt werden
  • Ein Primärschlüssel und andere Indizes können addiert werden; Verdopplung von Daten und von Erhöhung seiner Retrievalfähigkeit begrenzen.
  • Fremde Schlüssel können abhängig von den Werten eingesetzt zu werden werte sein die addierten einschränken, die innerhalb anderer Tabellen enthalten werden.
  • Es gibt viele verschiedenen datatypes, die benutzt werden können, um Daten für Spalten zu halten
  • Default-Werte können für Daten eingestellt werden.
  • Wenn eine Tabelle bereits dann Sie kann es nicht verursachen existiert - und eine Störung kann auftreten.
  • Etwas Datenbanken müssen den Inhaber als Teil des Tabellennamens (dbo zum Beispiel IE dbo.your_table_name) spezifizieren

2. ÄNDERN TABELLE

Sobald eine Tabelle hergestellt worden ist, kann es notwendig werden, zu ändern, wie Daten in die Tabelle eingegeben werden können, oder wie die Daten gespeichert werden.  Ändern Sie Tabelle ist der Mechanismus, durch den diese Änderungen

ÄNDERN Sie TABELLE your_table_name ADDIEREN ColumnName VARCHAR (10) NICHT NULL;
ÄNDERN Sie TABELLE your_table_name TROPFEN ColumnName;
ÄNDERN Sie TABELLE your_table_name TROPFEN-PRIMÄRSCHLÜSSEL;

Wenn Sie Spalten addieren oder Sachen dem Tabelle dann hinzufügen, treffen die gleichen Richtlinien zu, wie was verursachen Sie.  Die gleichen Erklärungwahlen können, wie mit den gleichen Indexarten und -beschränkungen gegeben werden.

Sie können Spalten entfernen, indem Sie sich namentlich auf sie beziehen.

Sie können Indizes und Beschränkungen entfernen, indem Sie das im Tropfen spezifizieren.

Einige Sachen zur Anmerkung:

  • Sie können zwei Spalten mit dem gleichen Namens nicht normalerweise haben (dieses ist relevant zu verursachen und zu ändern)
  • Sie können Probleme haben, bestimmte Spalten zu entfernen wenn sie der Bereich, der durch andere fremde Schlüssel bezogen wird
  • Probleme können auftreten, wenn Indizes von den Spalten abhängen, die gefallen werden sollen.
  • Indizes können nicht notwendigerweise addiert werden, wenn die Daten, die in der Tabelle enthalten werden, nicht die Beschränkungen reflektieren, die durch die Änderung auferlegt werden.

3. TROPFEN-TABELLE

TROPFEN-TABELLE your_table_name;
TROPFEN-TABELLE, WENN your_table_name EXISTIERT; 

Tabellen wegzuwerfen ist so einfach wie, auf die Tabelle beziehend, die Sie entfernen möchten und Sagen der Tropfentabelle.  Stellen Sie sicher, dass Sie, Erlaubnis zu haben, die Tabelle oder sie fallenzulassen nicht leicht gehen können das.  Etwas SQL-Datenbanken stützen, WENN Syntaxbedeutung existiert, dass sie nicht eine Störung gibt, wenn die Tabelle nicht existiert und Sie versuchen, sie zu entfernen, aber, wenn es dann existiert, sie entfernt wird.  Ähnlich, wenn Sie entfernen, Tabellen, die Abhängigkeiten nach ihnen IE-fremde Schlüssel dann haben, können sie möglicherweise nicht schnell gehen das.

4. EINSATZ IN

Normalerweise ist der Punkt aller Ihrer SQL-Datenbankfähigkeiten, mit Daten zu arbeiten.  Es gibt viele Aussagen, die der Bevölkerung von Daten ermöglichen, aber das allgemein verwendetste würde die Einsatzaussage sein.  Dieses tut genau, was es andeutet, es einsetzt Reihen von Daten in die Tabelle.  Es gibt drei Hauptvarianten.  Die erste Veränderung spezifiziert die Spalten, dass Daten in eingesetzt werden, einschließlich ihren Auftrag und die andere spezifiziert die Daten, die in jene Spalten einsteigen.

EINSATZ IN your_table_name (first_column_name, another_column_name,…. ) 
WERTE (first_value, second_value,…. )

Eine andere Methode der Isolierung der eingesetzt zu werden Daten ist, indem sie auf die Daten sich bezieht, die bereits innerhalb der Datenbank enthalten werden.  Dieses verwendet eine normale auserwählte Aussage, wie unten definiert:

EINSATZ IN your_table_name (col_name1, col_name2,…. )  AUSERWÄHLT… 

Die abschließende Methode ist, eine Aussage zu verwenden, die Wert jeder Spalte einstellt, der zu einen anderen Werten unter Verwendung einer Gleichgestelltanweisung geändert werden muss.  Ich würde nicht mich empfehlen, diese Methode anzuwenden.

Sachen zur Anmerkung:
  • Etwas SQL-Datenbanken erlauben die Einfügung der mehrfachen Reihen in der Durchführung von einer Aussage.
  • Die Einfügung von Daten wird durch Abhängigkeiten, Überprüfungen gesteuert und Verhältnisse und wenn die Daten diese Überprüfungen dann verlassen, Störungen können resultieren.
  • Stellen Sie sicher, dass die Daten in der Art sind, die durch das Ständer definiert wird.
  • Nicht alle Spalten müssen notwendigerweise bevölkert werden
  • Es gibt viele Funktionen, die die Form der Daten manipulieren können.
  • Daten müssen in einem Format sein, das in die korrekte Datenart umgewandelt werden kann - Sachen, wie `23 ′ als 23 anders als gedeutet werden kann
  • Umgekehrte Kommas innerhalb der Daten können Einfügungprobleme darstellen und es gibt Funktionen, die dieses behandeln können.
  • Validieren Sie immer alle mögliche Daten, die von den untrusted Quellen kommt (IE-Benutzer)
  • Wenn Auto-Inkrement oder Identitätsfelder nicht dann spezifiziert werden, führen sie im Allgemeinen zu dem höchsten Wert in der Tabelle und addieren ein.
  • Merken Sie, dass Umwandlungsfunktionen beim Vorwählen von den Spalten in einer Datenbank verwendet werden auch müssen können, die nicht die selben wie ihr Bestimmungsort sind.
  • Spalten können in einem anderen Auftrag, als vorgewählt werden sie in der Bestimmungsorttabelle auch - nicht alle Notwendigkeit aussehen spezifiziert zu werden.
  • Daten können vom Eingang geändert werden, bevor man, unter Verwendung der Funktionen eingesetzt wird, die in sql zum Zweck zugehörig sind.
  • Sie können Parameter im Allgemeinen verwenden, um Werte in Tabellen einzusetzen.

5. UPDATE

UPDATE your_table_name  GESETZTES first_column = Value1, second_column = Value2,….  WO criteriaExists

Datenkolonnen können Informationen enthalten, die falsch ist oder geändert werden muss.  Der Mechanismus, den SQL Ihnen gibt, ist die Updateaussage.  Gewöhnlich bezieht dieses, die mit ein Daten nur zu ändern in eine Tabelle, selbst wenn andere Tabellen für Kriterien benutzt werden.  Unter über Willensupdate weisen die Tabelle, die your_table_name genannt wird und den Wert in der ersten zu Spalte, die „Value1“ und second_column gleich ist Value2, in dem es die spezifischen gibt Kriterien (ausgearbeitt in wo).  Wenn es keine Kriterien dann gibt, ist jede Reihe modernisiert.

Sachen zur Anmerkung:

  • Begrenzungen können angewendet werden so nur eine gegebene Anzahl von Reihen wird bewirkt
  • Andere Tabellen können in verbunden werden wo Bedingung
  • Es ist nicht im Allgemeinen eine gute Idee zum angenommenen Namen die Tabellen in der Updateaussage.
  • Der Wert muss nicht örtlich festgelegt sein und kann auf eine Handhabung der gegenwärtigen oder verschiedenen Spalten oder der Konstanten sich beziehen.
  • Nicht alle Spalten müssen durch das Update erfolgt werden.

6. LÖSCHUNG

LÖSCHUNG vom your_table_name WO criteriaExists

Das Entfernen von Reihen von den Tabellen wird unter Verwendung der Löschungaussage erzielt.  Dieses ist so einfach, wie, die Tabelle und die Kriterien identifizierenend, die Reihen sich treffen sollten und, dass Sie, unter Verwendung einer Aussage löschen möchten dann, spezifizierend, die oben ähnlich ist.  Die Kriterien wird unten erklärt.

Sachen zur Anmerkung:
  • Begrenzungen können angewandt sein, eine Höchstzahl der entfernt zu werden Reihen spezifizierend
  • Löschungen können Probleme haben, auf andere Reihen innerhalb der gleichen Tabelle sich zu beziehen und das solche temporären Tabellen verwendet werden müssen können.
  • Löschungen können eine Tabelle normalerweise nur auf einmal bewirken (selbst wenn andere zu den Kriteriumszwecken verbunden wird)
  • Auslassung kann Probleme haben, wenn sie fremde Schlüsselabhängigkeiten bauten auf mit anderen Tabellen entfernen.

 

7. AUSERWÄHLT

 

Eine normale auserwählte Aussage sieht dem folgenden ähnlich aus

AUSERWÄHLT   definition_for_First_column als fc, t1.second_column,….  Vom tableName als T1  WO criteria_exists

 

Wählen Sie einfach identifys die Daten vor, über den Spalten angezeigt zu werden.  Merken Sie, dass dieses in einer Frage, wenn mehrmals erscheinen kann Sie eine eingebettete Frage (sub Frage), entweder als Teil einer Spaltendefinition haben (wenn sie nur eine Spalte und eine Reihe zurückbringt) oder als Teil von (unter Verwendung der Frage, wie es eine Tabelle war) oder in, wo Bedingung (unter Verwendung sie, zum eines Satzes Kriterien zu prüfen oder zu widerlegen)

Sachen zur Anmerkung:

     

  • Häufig treten Fehler auf, weil es nicht eine Datendefinition zwischen jedem gibt (außer dem Letzten)
  • Etwas Datenbanken haben eine Spaltenbegrenzung 256 oder 1024
  • Das EINDEUTIGE Schlüsselwort, nachdem auserwählt, gibt nur einzigartige Reihen (die vollständige Reihe muss einzigartig sein)
  • GRUPPE VORBEI am Ende der Aussage kann bewirken, was im auserwählten angezeigt werden kann
  • Spalten müssen nicht von den Tabellen sein, sie können Konstanten sein
  • Spalten können Mathematik zwischen Konstanten auch darstellen
  • Spalten können durch Funktionen geführt werden
  • Es ist nicht gutes üblich, mehrfache Spalten mit dem gleichen Namen zu haben
  • Spalten können aliased, indem man ein Wort verwendet, um ihm einen Namen zu geben nachdem ein Raum nachdem das Spaltendefinitions-IE (tableName.t1 als field1 oder durch das Handeln von tablename.t2 xxx) das zwei Spalten herstellen würde, die field1 genannt wurden (1. Beispiel) und xxx als das zweite Beispiel
  • Das tablename nicht notwendigerweise braucht benutzt zu werden, um ein Feld zu adressieren, vorausgesetzt der Feldname zu diesem Tabelle oder zu Subquery einzigartig ist
  • Nicht notwendigerweise benötigt a von oder wo Kriterien abhängig von der Datenbank

8. VON

  Vom table_name

  VON (Subquery)

  Dieses wird normalerweise gesehen, wo eine Aussage Informationen Betreffend eine Tabelle oder einen Satz Daten erfordert.  In den ersten Instanzen können Sie dieses in Bezug auf gegebene Tabellen, in den vorgerückteren Drehbüchern verwenden nur wünschen, die Sie von einer eingebetteten Frage vorwählen können.  Dieses ist unter dem direktesten - wo im Allgemeinen alles, nachdem von sein müssen entweder eine Tabelle, Ansicht oder etwas, die wie eine Tabelle oder Ansicht erscheint (IE, Reihen und Spalten hat)

Sachen zur Anmerkung:
  • Es kann mehrfache Tabellen oder Subqueries in von der Definition geben
  • Tabellen oder Subqueries können IE der gegebenen Namen vom table_name sein, da T1 bedeuten würde, dass gleichgültig wo T1 es bezog diese Tabelle bezogen wurde
  • Die gleiche Tabelle oder Subquery können enthaltene mehrfache Zeiten sein und jedes wird unabhängig behandelt
  • Alles, das als Teil von der Klausel verzeichnet wird, wirkt die Frage aus (selbst wenn es nicht spezifisch adressiert wird), während zwischen jeder dieser Dateien verbindet.

9. WO

 Gewöhnlich möchten Sie nicht jedes Stück Daten in einer Datenbank sehen.  Einzuschränken, was zurückgebracht wird, gegründet nach Kriterien ist der vollständige Punkt von wo Schlüsselwort.

Im Wesentlichen, wo Aussagen wie ihre englischen Äquivalente lasen.  So, dass für jede Reihe - die Datenbank bittet, tut das Anwenden dieser zutreffenden Aussagenrückkehr, wenn so dann Anzeige die Reihe - andernfalls nicht tun Sie.  Sie können haben oder Aussagen und komplizierte Logik verwenden aber jedes, wo Aussage hinunter diese Vereinfachung kocht.

Beispiele wie:

WO  t1.currency = „AUD“
WO  t1.field1 > t2.field3
WO (t1.field1   t2.field3) = (t2.field2 * t2.field7)
WO your_table_name.firstName = „Andrew“ oder your_table_name.firstName = „Becky“
WO your_table_name. Geschlecht = „Mann“ und your_table_name.age zwischen 18 und 25

 Wenn Sie diese Aussagen lesen können, scheinen sie, sinnvoll zu sein.  Das erste bringt nur Werte zurück, die in den australischen Dollar sind und der zweite nur Reihen, in denen ein gegebenes Feld größer ist, als ein anderes zeigen.  Irgendwelche Aussagen müssen auswerten, um auszurichten, um Reihen zurückzubringen. 

Sachen zur Anmerkung:
  •  Wie es gibt viele Funktionen, die verwendet werden können, um auszuwerten, um auszurichten oder falsch in wo Bedingung - Zeichen > >= < <=/\! = in () ( ) zwischen % und viel mehr kann verwendet werden - wenn Sie ungewiß sind und sie in sind, wo Bedingung dann oben schauen, was sie bedeuten, denn die Aussage, zum werden sie zu bearbeiten immer in gewissem Sinne verwendet, die entweder ein zutreffendes oder ein falsches geben können, nachdem sie ausgewertet sind.
  • Etwas Datenbanken verbinden Tabellen in ihrem, wo Bedingungen und andere nicht tun.
  • Es ist möglich, Aussagen zu haben, die nie zutreffendes IE IN DEM 1 zurückbringen! = ist 1 immer falsch, wie 1 nie bis 1 gleich nicht sein wird (<> Gebrauch etwas Datenbanken für nicht Gleichgestellte)
  • Unterseeboot-Fragen können zurückgebracht werden, um zu überprüfen, ob ein bestimmter Wert tut oder nicht innerhalb dieser Vorfrage existiert
  • Störungen können auftreten, wenn Sie versuchen, Werte zu vergleichen, die nicht von der gleichen Art IE „1“ ist ungleich bis 1 in vielen Datenbanken sind, da das erste der Buchstabe ist und das zweite der Wert ist
  • Ausgewertet werden von wo Bedingungen normalerweise unter Verwendung der BOMDAS IE-Haltewinkel, multiplizieren Sie Verteilung hinzufügen und subtrahieren.
  • Wo Aussagen verwenden können, kann die Verschrobenheit, die zutreffend und falsch als Zahlen in etwas Datenbanken - falsches IE behandelt werden, = 0 und zutreffendes ist jede mögliche andere Zahl
  • Bedingte Logik kann verwendet werden, um Bedingungen auszuwerten - IE iif, wenn und Fallaussagen

 

Zusammenfassung:

Diese Aussagen zu verstehen ist wichtig.  Es gibt viele Nuancen und Feinheiten, die nicht durch dieses einleitende Dokument abgedeckt wurden.  Wenn Sie eine oder mehrere Details wünschen, die in mehr Tiefe überprüft werden, treten Sie mit mir bitte in Verbindung und ich schreibe einen anderen Pfosten Ihre Interessen adressierend.

SQL war etwas, den ich hasste, wann es zuerst, erlernend, heutzutage ich denke, dass seine Möglichkeiten und Gebrauch ehrfürchtig ist.

Wenn Sie diesen Pfosten bitte mochten, kommentieren Sie unten, teilen Sie ihn mit Freunden oder in den Sozialnetzen und unterzeichnen Sie zu meiner RSS Zufuhr


%DIGG%   Unterzeichnen Sie zu diesem BlogUnterzeichnen Sie zum Terabell Blog über RSS

Diese Ikonen verbinden mit bookmarkenden Sozialaufstellungsorten, in denen Leser neue Webseiten teilen und entdecken können.
  • del.icio.us
  • blogmarks
  • Furl
  • SphereIt
  • StumbleUpon
  • Technorati
  • Reddit
  • co.mments
  • NewsVine
  • Slashdot
  • TailRank

Trackback

2007-10-09 17:25: 21

Als Sysadmin ist der häufigste SQL-Befehl, den ich verwende, BEWILLIGUNG, obgleich es nicht ausschließlich reiner SQL ist. Dieses wird dicht VOM ÜBERPRÜFUNGS-SKLAVEN-STATUS gefolgt und not-so-closely vorbei gefolgt STELLEN Sie DATENBANK, ÜBERPRÜFUNGS-TABELLE und REPARATUR-TABELLE her.

Selbstverständlich wenn ich die neun programmiere, erwähnen Sie sind die, die ich verwende.

Die Sache ist, würde mein Job ohne die Befehle viel härter sein, die ich erwähnte. (Wohl… ausgenommen VERURSACHEN Sie DATENBANK. Es ist recht einfach, eine neue Datenbank manuell zu verursachen.)

2007-10-09 17:30: 26

Dave,

Ich stimme zu, die bin sehr allgemein HERSTELLE auch BENUTZER bin anderer, der sehr allgemein verwendet wird, wie Unterstützungsaussagen. Da jemand, das DBA-Rollen und Gebäudefragen (Programmierer) dort getan hat, ein großer Unterschied ist zwischen, was Sie wichtig betrachten abhängig von, was Sie tun. Im Allgemeinen würde ich die wichtigste Sache über Datenbanken soll in der Lage sein, auf die Daten zurückzugreifen betrachten und während so ich diesen Pfosten mit dem in Verstand schrieben. Ich denke, dass ich die Spitzenverwaltungsschlüsselwörter schreibe und wie man sie für die, die mehr mit dem Betrieb der Datenbank betroffen werden, eher als verwendet, zurückgreifend, auf was es enthält.

 
 
Nennen Sie (erfordert)
EMail (erfordert - nie öffentlich dargestellt)
URI
Unterzeichnen Sie zu den Anmerkungen über eMail
Ihre Anmerkung (kleinere Größe | größere Größe)
Sie können <a href= "" title= "" > <abbr title= "" > <acronym title= "" > <b> <blockquote cite= "" > <code> <em> <i> <strike> <strong> in Ihrer Anmerkung benutzen.


Abschluss
EMail es