Jeśli chcę po prostu zmienić nazwę kolumny (nie zmieniać jej typu ani ograniczeń, tylko jej nazwę) w bazie danych SQL za pomocą SQL, jak mam to zrobić? Czy nie jest to możliwe?
To jest dla każdej bazy danych, która twierdzi, że obsługuje SQL. Po prostu szukam zapytania specyficznego dla SQL, które będzie działać niezależnie od rzeczywistej implementacji bazy danych.
sql
sql-server
database
rename
MetroidFan2002
źródło
źródło
Odpowiedzi:
Na PostgreSQL (i wielu innych RDBMS) możesz to zrobić zwykłym
ALTER TABLE
poleceniem:źródło
sp_rename
zgodnie z odpowiedzią Galwegiana: stackoverflow.com/a/174586/834431W szczególności w przypadku programu SQL Server użyj
sp_rename
źródło
W MySQL składnia jest następująca
ALTER TABLE ... CHANGE
:Zauważ, że nie możesz po prostu zmienić nazwy i pozostawić typu i ograniczeń bez zmian; należy ponownie wpisać typ danych i ograniczenia po nowej nazwie kolumny.
źródło
RENAME
składnią. Zmień nazwę kolumny w MySQLNiestety, aby uzyskać rozwiązanie niezależne od bazy danych, musisz wiedzieć wszystko o kolumnie. Jeśli jest używany w innych tabelach jako klucz obcy, również będą musiały zostać zmodyfikowane.
W najprostszych przypadkach (bez ograniczeń, wyzwalaczy, indeksów lub kluczy) zajmie powyższe 3 wiersze. W przypadku wszystkiego, co jest bardziej skomplikowane, podczas uzupełniania brakujących części może być bardzo bałagan.
Jednak, jak wspomniano powyżej, istnieją prostsze metody specyficzne dla bazy danych, jeśli wiesz, którą bazę danych musisz zmodyfikować z wyprzedzeniem.
źródło
Myślę, że to najłatwiejszy sposób zmiany nazwy kolumny.
źródło
W Informix możesz użyć:
Zostało to wdrożone, zanim standard SQL rozwiązał ten problem - jeśli jest on rozwiązany w standardzie SQL. Moja kopia standardu SQL 9075: 2003 nie pokazuje, że jest to standard (między innymi RENAME nie jest jednym ze słów kluczowych). Nie wiem, czy faktycznie jest to w SQL 9075: 2008.
źródło
RENAME COLUMN TableName.OldName TO NewName;
www-01.ibm.com/support/knowledgecenter/SSGU8G_11.50.0/ ...Na serwerze sql możesz użyć
lub
źródło
Możesz użyć następującego polecenia, aby zmienić nazwę kolumny dowolnej tabeli w programie SQL Server:
źródło
ALTER TABLE to standardowy SQL. Ale nie jest w pełni zaimplementowany w wielu systemach baz danych.
źródło
Standard byłby taki
ALTER TABLE
, ale niekoniecznie jest to obsługiwane przez każdy DBMS, z którym prawdopodobnie się spotkasz, więc jeśli szukasz wszechstronnej składni, możesz mieć pecha.źródło
Alternatywnie do
SQL
możesz to zrobić w Microsoft SQL Server Management Studio z panelu Projekt tabeli.Pierwszy sposób
Powoli kliknij dwukrotnie kolumnę. Nazwa kolumny stanie się edytowalnym polem tekstowym.
Drugi sposób
Trzecia droga
Tabela >> RightClick >> Projekt
źródło