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
특히 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> ...
유형과 제약 조건을 그대로 바꾸고 그대로 둘 수는 없습니다. 열의 새 이름 뒤에 데이터 형식과 제약 조건을 다시 입력해야합니다.
불행히도 데이터베이스 독립 솔루션의 경우 열에 대한 모든 정보를 알아야합니다. 다른 테이블에서 외래 키로 사용되는 경우에도 수정해야합니다.
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인지 여부는 알 수 없습니다.
SQL Server에서 사용할 수 있습니다
exec sp_rename '<TableName.OldColumnName>','<NewColumnName>','COLUMN'
또는
sp_rename '<TableName.OldColumnName>','<NewColumnName>','COLUMN'
다음 명령을 사용하여 SQL Server에서 테이블의 열 이름을 바꿀 수 있습니다.
exec sp_rename 'TableName.OldColumnName', 'New colunmName'
ALTER TABLE은 표준 SQL입니다. 그러나 많은 데이터베이스 시스템에서 완전히 구현되지는 않았습니다.
표준은 ALTER TABLE
이지만, 발생할 가능성이있는 모든 DBMS에서 반드시 지원되는 것은 아니므로, 포괄적 인 구문을 찾고 있다면 운이 좋지 않을 수 있습니다.
또는 SQL
Microsoft SQL Server Management Studio의 테이블 디자인 패널에서이 작업을 수행 할 수 있습니다.
첫 번째 방법
Slow double-click on the column. The column name will become an editable text box.
Second Way
SqlManagement Studio>>DataBases>>tables>>specificTable>>Column Folder>>Right Click on column>>Reman
Third Way
Table>>RightClick>>Design
참고URL : https://stackoverflow.com/questions/174582/how-do-i-rename-a-column-in-a-database-table-using-sql
'IT story' 카테고리의 다른 글
Angular 2의 패시브 링크- (0) | 2020.08.04 |
---|---|
Java 인터페이스의 선택적 메소드 (0) | 2020.08.04 |
컴파일 타임에 #define의 값을 어떻게 표시합니까? (0) | 2020.08.04 |
DialogFragment에 인수 전달 (0) | 2020.08.04 |
내용 편집 가능한 추가 방지 (0) | 2020.08.04 |