SQL Server에서 단일 ALTER TABLE 문을 사용하여 여러 열을 드롭하려면 어떻게 해야 합니까?
단일 테이블에서 여러 열을 하나의 테이블에 드롭하는 단일 SQL 명령어를 쓰고 싶다.ALTER TABLE
진술.
MSDN의 ALTER TABLE 문서에서...
DROP { [CONSTRAINT] constraint_name | COLUMN column_name }
contraint_name 또는 column_name을 테이블에서 삭제하도록 지정합니다.호환성 수준이 65 이하인 경우에는 DROP COLUMN을 사용할 수 없습니다.여러 열 및 제약 조건을 나열할 수 있습니다.
문장에 여러 열을 나열할 수 있지만 구문에 옵션인 쉼표나 구문을 암시하는 내용이 표시되지 않습니다.
SQL을 작성하면 하나의 문에서 여러 열을 삭제할 수 있습니다(가능한 경우).
SQL Server의 경우:
ALTER TABLE TableName
DROP COLUMN Column1, Column2;
구문은 다음과 같습니다.
DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ]
MySQL의 경우:
ALTER TABLE TableName
DROP COLUMN Column1,
DROP COLUMN Column2;
또는 다음과 같습니다1.
ALTER TABLE TableName
DROP Column1,
DROP Column2;
1 그 말COLUMN
생략할 수 있습니다.단,RENAME COLUMN
(컬럼 트레이닝 조작과RENAME
테이블 교환 조작).자세한 것은 이쪽.
정리하다
ALTER TABLE table_name DROP (column_name1, column_name2);
ALTER TABLE table_name DROP COLUMN column_name1, column_name2
ALTER TABLE table_name DROP column_name1, DROP column_name2;
ALTER TABLE table_name DROP COLUMN column_name1, DROP COLUMN column_name2;
주의해 주세요
DROP COLUMN
는 MS SQL 등의 일부 DBMS의 데이터를 물리적으로 삭제하지 않습니다.고정 길이 유형(int, 숫자, float, datetime, uniqueidentifier 등)의 경우 열이 삭제된 후 추가된 레코드에 대해서도 공간이 사용됩니다.낭비되는 공간을 없애기 위해서ALTER TABLE ... REBUILD
.
create table test (a int, b int , c int, d int);
alter table test drop column b, d;
DROP COLUMN은 데이터를 물리적으로 삭제하지 않으며 고정 길이 유형(int, 숫자, float, datetime, uniqueidentifier 등)의 경우 컬럼 드롭 후 추가된 레코드에 대해서도 공간이 소비됩니다.낭비되는 공간을 없애기 위해서ALTER TABLE ... REBUILD
.
늦어질 수 있지만 이 질문을 방문하는 새 사용자에게 공유합니다.여러 열을 드롭하려면 실제 구문은 다음과 같습니다.
alter table tablename drop column col1, drop column col2 , drop column col3 ....
따라서 Mysql 5.0.45에서 모든 열에 대해 "drop column"을 지정해야 합니다.
ALTER 문의 열 부분을 삭제하기 위해 Microsoft가 지정한 구문은 다음과 같습니다.
DROP
{
[ CONSTRAINT ]
{
constraint_name
[ WITH
( <drop_clustered_constraint_option> [ ,...n ] )
]
} [ ,...n ]
| COLUMN
{
column_name
} [ ,...n ]
} [ ,...n ]
[,...n]은 컬럼 이름과 전체 drop 구 끝에 모두 표시됩니다.즉, 여러 열을 삭제하는 방법은 두 가지가 있습니다.다음 중 하나를 수행할 수 있습니다.
ALTER TABLE TableName
DROP COLUMN Column1, Column2, Column3
또는 이것
ALTER TABLE TableName
DROP
COLUMN Column1,
COLUMN Column2,
COLUMN Column3
다음 두 번째 구문은 열 폐기와 제약 조건 폐기를 결합하는 경우에 유용합니다.
ALTER TBALE TableName
DROP
CONSTRAINT DF_TableName_Column1,
COLUMN Column1;
열을 삭제할 때 SQL Sever는 떨어진 열에 사용된 공간을 회수하지 않습니다.행(int 등)에 인라인으로 저장되는 데이터 유형의 경우 alter 문 뒤에 추가된 새 행의 공간을 차지할 수도 있습니다.이 문제를 해결하려면 테이블에 클러스터된 인덱스를 작성하거나 이미 클러스터된 인덱스가 있는 경우 다시 작성해야 합니다.테이블을 수정한 후 REBUILD 명령을 사용하여 인덱스를 재구성할 수 있습니다.그러나 매우 큰 테이블에서는 속도가 느려질 수 있습니다.예를 들어 다음과 같습니다.
ALTER TABLE Test
REBUILD;
5.의 경우 의 MySQL('5.6')로 여러 할 수 .drop
으로 하다drop
- - "-"
mysql> alter table test2 drop column (c1,c2,c3);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(c1,c2,c3)' at line 1
mysql> alter table test2 drop column c1,c2,c3;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'c2,c3' at line 1
mysql> alter table test2 drop column c1, drop column c2, drop c3;
Query OK, 0 rows affected (0.64 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
★★★★★★★★★★★★★★★★★★★★★」drop <col_name>
이 모자라다drop column <col_name>
에서 알 수 drop c3
abovedisclossible을 합니다.
아래 구문을 삭제하기 위해 하나의 열만 사용하는 경우
ALTER TABLE tablename DROP COLUMN column1;
열을 " " " 를 합니다.DROP COLUMN
는 동작하지 않습니다. 구문은 합니다.다음 구문은 동작합니다.
ALTER TABLE tablename DROP (column1, column2, column3......);
범용:
ALTER TABLE table_name
DROP COLUMN column1,column2,column3;
예:
ALTER TABLE Student
DROP COLUMN Name, Number, City;
alter table tablename drop (column1, column2, column3......);
포스트기스는
alter table table01 drop columns col1, drop col2
이 쿼리는 다중 열 테스트를 변경합니다.
create table test(a int,B int,C int);
alter table test drop(a,B);
ALTER table table_name Drop column column1, Drop column column2,Drop column column3;
MySQL DB의 경우.
또는 동일한 행에서 변경하면서 일부 열을 추가할 수 있습니다.
ALTER table table_name Drop column column1, ADD column column2 AFTER column7;
언급URL : https://stackoverflow.com/questions/6346120/how-to-drop-multiple-columns-with-a-single-alter-table-statement-in-sql-server
'programing' 카테고리의 다른 글
디렉토리가 존재하지 않는 경우 작성 (0) | 2023.04.08 |
---|---|
PowerShell을 사용한 파일 이름 타임스탬프 (0) | 2023.04.08 |
문자열의 UPDATE 및 REPLACE 부분 (0) | 2023.04.08 |
.vimrc 파일에 gvim 글꼴 설정 (0) | 2023.04.08 |
PDF를 HTML에 삽입하는 권장 방법 (0) | 2023.04.08 |