SQL을 사용하여 SQL 데이터베이스에서 열의 이름을 변경 (유형이나 제약 조건 만 변경하지 않고 이름 만 변경)하려면 어떻게해야합니까? 아니면 불가능합니까?
이것은 SQL을 지원한다고 주장하는 모든 데이터베이스를위한 것이며, 실제 데이터베이스 구현에 관계없이 작동하는 SQL 관련 쿼리를 찾고 있습니다.
SQL을 사용하여 SQL 데이터베이스에서 열의 이름을 변경 (유형이나 제약 조건 만 변경하지 않고 이름 만 변경)하려면 어떻게해야합니까? 아니면 불가능합니까?
이것은 SQL을 지원한다고 주장하는 모든 데이터베이스를위한 것이며, 실제 데이터베이스 구현에 관계없이 작동하는 SQL 관련 쿼리를 찾고 있습니다.
답변:
PostgreSQL (및 기타 여러 RDBMS)에서는 다음과 같은 일반 ALTER TABLE
명령문으로 수행 할 수 있습니다 .
=> SELECT * FROM Test1;
id | foo | bar
----+-----+-----
2 | 1 | 2
=> ALTER TABLE Test1 RENAME COLUMN foo TO baz;
ALTER TABLE
=> SELECT * FROM Test1;
id | baz | bar
----+-----+-----
2 | 1 | 2
sp_rename
Galwegian의 답변에 따라 사용하십시오 : stackoverflow.com/a/174586/834431
특히 SQL Server의 경우 sp_rename
USE AdventureWorks;
GO
EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO
MySQL에서 구문은 ALTER TABLE ... CHANGE
다음과 같습니다.
ALTER TABLE <table_name> CHANGE <column_name> <new_column_name> <data_type> ...
이름을 바꾸고 유형과 제약 조건을 그대로 둘 수는 없습니다. 열의 새 이름 뒤에 데이터 유형과 제약 조건을 다시 입력해야합니다.
RENAME
구문으로 유형 / 제약 조건에 영향을주지 않고 열 이름 만 바꿀 수 있습니다 . MySQL에서 열 이름 바꾸기
불행히도 데이터베이스 독립 솔루션의 경우 열에 대한 모든 것을 알아야합니다. 다른 테이블에서 외래 키로 사용되는 경우에도 수정해야합니다.
ALTER TABLE MyTable ADD MyNewColumn OLD_COLUMN_TYPE;
UPDATE MyTable SET MyNewColumn = MyOldColumn;
-- add all necessary triggers and constraints to the new column...
-- update all foreign key usages to point to the new column...
ALTER TABLE MyTable DROP COLUMN MyOldColumn;
가장 간단한 경우 (제약 조건, 트리거, 인덱스 또는 키 없음)의 경우 위의 3 줄을 사용합니다. 더 복잡한 것은 빠진 부분을 채울 때 매우 지저분해질 수 있습니다.
그러나 위에서 언급했듯이 미리 수정해야하는 데이터베이스를 알고있는 경우보다 간단한 데이터베이스 특정 방법이 있습니다.
열 이름을 변경하는 가장 쉬운 방법이라고 생각합니다.
SP_RENAME 'TABLE_NAME.OLD_COLUMN_NAME','NEW_COLUMN_NAME'
Informix에서는 다음을 사용할 수 있습니다.
RENAME COLUMN TableName.OldName TO NewName;
이것은 SQL 표준에서 문제를 해결하기 전에 구현되었습니다 (SQL 표준에서 해결 된 경우). SQL 9075 : 2003 표준의 사본은 표준으로 표시되지 않습니다 (다른 것들 중에서 RENAME은 키워드 중 하나가 아닙니다). 실제로 SQL 9075 : 2008인지 여부는 모르겠습니다.
RENAME COLUMN TableName.OldName TO NewName;
www-01.ibm.com/support/knowledgecenter/SSGU8G_11.50.0/…
다음 명령을 사용하여 SQL Server에있는 테이블의 열 이름을 바꿀 수 있습니다.
exec sp_rename 'TableName.OldColumnName', 'New colunmName'
ALTER TABLE은 표준 SQL입니다. 그러나 많은 데이터베이스 시스템에서 완전히 구현되지는 않았습니다.
또는 SQL
테이블 디자인 패널의 Microsoft SQL Server Management Studio에서이 작업을 수행 할 수 있습니다.
첫 번째 방법
열을 천천히 두 번 클릭합니다. 열 이름은 편집 가능한 텍스트 상자가됩니다.
두 번째 방법
SqlManagement Studio >> 데이터베이스 >> 테이블 >> specificTable >> 열 폴더 >> 열을 마우스 오른쪽 버튼으로 클릭 >> Reman
세 번째 방법
표 >> RightClick >> 디자인