Wie kann ich eine Spalte in einer SQL-Datenbank mithilfe von SQL einfach umbenennen (nicht ihren Typ oder ihre Einschränkungen ändern, sondern nur ihren Namen)? Oder ist das nicht möglich?
Dies gilt für jede Datenbank, die behauptet, SQL zu unterstützen. Ich suche einfach nach einer SQL-spezifischen Abfrage, die unabhängig von der tatsächlichen Datenbankimplementierung funktioniert.
sql
sql-server
database
rename
MetroidFan2002
quelle
quelle
Antworten:
Unter PostgreSQL (und vielen anderen RDBMS) können Sie dies mit einer regulären
ALTER TABLE
Anweisung tun :quelle
sp_rename
gemäß der Antwort von GalwegianVerwenden Sie speziell für SQL Server
sp_rename
quelle
In MySQL lautet die Syntax
ALTER TABLE ... CHANGE
:Beachten Sie, dass Sie den Typ und die Einschränkungen nicht einfach umbenennen und unverändert lassen können. Sie müssen den Datentyp und die Einschränkungen nach dem neuen Namen der Spalte erneut eingeben.
quelle
RENAME
Syntax zu beeinflussen. Benennen Sie eine Spalte in MySQLLeider müssen Sie für eine datenbankunabhängige Lösung alles über die Spalte wissen. Wenn es in anderen Tabellen als Fremdschlüssel verwendet wird, müssen diese ebenfalls geändert werden.
Für den einfachsten Fall (keine Einschränkungen, Trigger, Indizes oder Schlüssel) werden die obigen 3 Zeilen verwendet. Bei komplizierteren Dingen kann es sehr unordentlich werden, wenn Sie die fehlenden Teile ausfüllen.
Wie oben erwähnt, gibt es jedoch einfachere datenbankspezifische Methoden, wenn Sie wissen, welche Datenbank Sie im Voraus ändern müssen.
quelle
Ich denke, dies ist der einfachste Weg, um den Spaltennamen zu ändern.
quelle
In Informix können Sie Folgendes verwenden:
Dies wurde implementiert, bevor der SQL-Standard das Problem behoben hat - sofern dies im SQL-Standard behoben ist. Meine Kopie des SQL 9075: 2003-Standards zeigt ihn nicht als Standard an (unter anderem ist RENAME nicht eines der Schlüsselwörter). Ich weiß nicht, ob es tatsächlich in SQL 9075: 2008 ist.
quelle
RENAME COLUMN TableName.OldName TO NewName;
www-01.ibm.com/support/knowledgecenter/SSGU8G_11.50.0/…In SQL Server können Sie verwenden
oder
quelle
Mit dem folgenden Befehl können Sie die Spalte einer beliebigen Tabelle in SQL Server umbenennen:
quelle
ALTER TABLE ist Standard-SQL. In vielen Datenbanksystemen ist es jedoch nicht vollständig implementiert.
quelle
Der Standard wäre
ALTER TABLE
, aber das wird nicht unbedingt von jedem DBMS unterstützt, auf das Sie wahrscheinlich stoßen. Wenn Sie also nach einer umfassenden Syntax suchen, haben Sie möglicherweise kein Glück.quelle
Alternativ dazu
SQL
können Sie dies in Microsoft SQL Server Management Studio über die Tabelle Design Panel tun.Erster Weg
Doppelklicken Sie langsam auf die Spalte. Der Spaltenname wird zu einem bearbeitbaren Textfeld.
Zweiter Weg
Dritter Weg
Tabelle >> Rechtsklick >> Design
quelle