Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So ändern Sie die Tabelle und fügen Spalten hinzu Orakel

So ändern Sie die Tabelle und fügen Spalten in der Oracle-Datenbank hinzu

  • Sie fügen eine neue Spalte mit ALTER TABLE ADD COLUMN hinzu Anweisung in Oracle
  • Die Tabelle muss in Ihrem Schema enthalten sein, um eine Tabelle zu ändern, oder Sie sollten entweder das ALTER-Objektprivileg für die Tabelle oder das ALTER ANY TABLE-Systemprivileg haben.
  • Wenn eine Ansicht, eine materialisierte Ansicht, ein Trigger, ein funktionsbasierter Index, eine Prüfeinschränkung, eine Funktion, eine Prozedur oder ein Paket von einer Basistabelle abhängt, kann die Änderung der Basistabelle oder ihrer Spalten Auswirkungen auf das abhängige Objekt haben, z. B. PLSQL-Objekte ungültig  wenn das abhängige Tabellenobjekt geändert wird und Sie sie wieder gültig machen müssen

Wir können der Tabellendefinition mit dem Befehl alter table add  eine neue Spalte hinzufügen

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Vor 11g, wenn eine neue Spalte zu einer Tabelle hinzugefügt wird, ist die Spalte anfänglich NULL , es sei denn, Sie geben die DEFAULT-Klausel an. . Wenn Sie einen Standardwert angeben, aktualisiert die Datenbank sofort jede Zeile mit dem Standardwert. Beachten Sie, dass dies einige Zeit dauern kann und dass während des Updates eine exklusive DML-Sperre auf der Tabelle besteht.
  • Wenn Sie bei einigen Tabellentypen (z. B. Tabellen ohne LOB-Spalten) sowohl eine NOT NULL-Einschränkung als auch einen Standardwert angeben, kann die Datenbank die Operation zum Hinzufügen von Spalten optimieren und die Zeit, die die Tabelle benötigt, erheblich reduzieren für DML gesperrt. Das Gleiche gilt für das Hinzufügen von Nicht-Null-Spalten mit dem Standardwert
  • Oracle hat in 11g eine Funktion zum schnellen Hinzufügen von Spalten eingeführt. Wenn wir also eine Nicht-Null-Spalte mit Standardwert oder eine Null-Spalte mit Standardwert hinzufügen, fügt Oracle die Spalte sofort hinzu und aktualisiert nicht jede Zeile mit dem Standardwert. S
  • o Es entstehen keine Strafen für das Wiederholen und Rückgängigmachen. Wenn ein Benutzer die Spalte für einen vorhandenen Datensatz auswählt, erhält Oracle die Tatsache über den Standardwert aus dem Datenwörterbuch und gibt sie an den Benutzer zurück.

Sie können nicht angeben, wo die Spalte erscheinen soll. Die neu hinzugefügte Spalte wird zur letzten Spalte

 Ähnlich können wir der Tabelle mehrere Spalten hinzufügen

ALTER TABLE table_name
ADD (col1 column datatype [default  expr],
col2 column datatype [default  expr],
...
coln column datatype [default  expr]);

Example
ALTER TABLE customer_master
ADD (location_name varchar2(100),
last_login date);

Spaltenbenennungskonventionen sind dieselben wie im Fall der Anweisung „Tabelle erstellen“

  • Der Name, den Sie für eine Spalte wählen, muss diesen Standardregeln entsprechen:
  • Der Name muss mit einem Buchstaben A-Z oder a-z beginnen
  • kann Zahlen und Unterstriche enthalten
  • Kann GROSS- oder Kleinbuchstaben sein
  • Kann bis zu 30 Zeichen lang sein
  • Derselbe Name eines anderen vorhandenen Objekts in Ihrem Schema kann nicht verwendet werden
  • Darf kein für Oracle-Server und SQL reserviertes Wort sein

Die Datentypen sind wieder dieselben wie bei der Anweisung zum Erstellen einer Tabelle

zurück
Zeichen -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– Der Datentyp CHAR ist eine alphanumerische Zeichenkette fester Länge mit einer maximalen Länge in Bytes.
-Beim Erstellen eines CHAR-Datentyps bewahrt die Datenbank Platz für die eingehenden Daten, und wenn die Daten kürzer als die maximale Größe sind, werden sie rechts mit Leerzeichen aufgefüllt.
-Der VARCHAR2-Datentyp ist eine Variable -length alphanumerischer String, der eine maximale Länge in Bytes hat. Es kann bis zu 4000 Bytes speichern.
Nummer -NUMBER
-Der Datentyp NUMBER speichert Zahlen mit Genauigkeit und Skalierung.
-Numerische Datentypen speichern negative und positive ganze Zahlen, Festkommazahlen und Gleitkommazahlen
– Wenn eine Spalte als ZAHL (6, 2) definiert ist, kann der Wertebereich von –9999,99 bis gespeichert werden 9999,99. Oracle rundet die Gleitkommazahlen.
Datum und Uhrzeit –DATUM, ZEITMARKE (mit Zeitzone oder lokaler Zeitzone), INTERVALL VON JAHR ZU MONAT &INTERVALL VON TAG ZU SEKUNDE.
-Der Datentyp DATE wird verwendet, um Datums- und Zeitinformationen zu speichern.
-Dieser Datentyp verfügt über eine Reihe spezifischer Funktionen zum Bearbeiten, Formatieren und Anzeigen seiner Daten.
– Der Datentyp DATE fasst sieben Bytes und enthält Informationen über Jahrhundert, Jahr, Monat, Tag, Stunden, Minuten und Sekunden.
– Der Parameter NLS_DATE_FORMAT kann geändert werden, um die Anzeige der Daten zu steuern. Die Funktion SYSDATE gibt das aktuelle Datum
Große Objekte -BLOB (binäres großes Objekt) , CLOB (Character Large Object) , NCLOB &BFILE
-Spalten dieser Datentypen können unstrukturierte Daten speichern, einschließlich Text, Bild, Video und räumliche Daten. -Der Datentyp CLOB kann bis zu acht Terabyte an Zeichendaten unter Verwendung des Zeichensatzes der CHAR-Datenbank speichern.
-Der BLOB-Datentyp wird verwendet, um unstrukturierte binäre große Objekte zu speichern, z. B. solche, die mit Bild- und Videodaten verknüpft sind, wobei die Daten einfach ein Strom von „Bit“-Werten sind.
-Der Wert des Datentyps BFILE fungiert als Dateilokalisierer oder Zeiger auf eine Datei im Dateisystem des Servers. Die maximal unterstützte Dateigröße beträgt 8 TB bis 128 TB.
Lang Zeichendaten variabler Länge bis zu 2 G
rowid Ein 64-Basis-Zahlensystem, das die eindeutige Adresse der Zeile in der Tabelle darstellt

Beispiel

Vor dem Hinzufügen einer Spalte

Desc emp

Tabelle ändern Spalte hinzufügen

alter table emp add(ext varchar2(10));

Nach dem Hinzufügen einer Spalte

Desc emp

Diese Spalte jetzt löschen

alter table emp drop column ext;

Ich hoffe, Ihnen gefällt der Artikel zum Ändern von Spalten zum Hinzufügen von Tabellen in Oracle

Verwandte Artikel
Oracle-Tabellensyntax erstellen
Tabelle in Oracle ändern
Tabellenverschiebung ändern
ORACLE-Anweisung DROP TABLE
Oracle-Tabellengröße prüfen
ora-20005:Objektstatistiken sind gesperrt