SQL Server CREATE, ALTER, DROP 테이블 [T-SQL 예]
⚡ 스마트 요약
SQL Server 테이블은 데이터를 행과 열에 저장합니다. Transact-SQL은 CREATE TABLE 문을 사용하여 테이블을 생성하고, ALTER TABLE 문을 사용하여 열을 추가하거나 변경하며, DROP TABLE 문을 사용하여 테이블, 데이터 및 구조를 제거합니다.

테이블이란 무엇입니까?
테이블은 객체입니다. SQL 서버 데이터를 행과 열 형식으로 저장하는 시스템입니다. 아래 다이어그램은 각각 행과 열을 보여줍니다.
T-SQL을 사용하여 SQL Server에서 테이블을 만드는 방법
데이터를 저장하는 첫 번째 단계는 테이블을 만드는 것입니다. 데이터베이스 데이터가 저장될 위치입니다. 테이블을 생성한 후에는 계속해서 행을 삽입할 수 있습니다.
다음과 같은 방법으로 테이블을 만들 수 있습니다.
- T-SQL: 모든 열과 해당 데이터 형식을 정의하여 새 테이블을 생성합니다.
- T-SQL: 기존 테이블을 사용하여 새 테이블을 생성합니다.
- 테이블 디자이너를 사용합니다.
이 문제를 자세히 살펴보겠습니다.
T-SQL: 모든 열과 데이터 형식을 정의하여 새 테이블을 생성합니다.
다음은 SQL Server에서 테이블을 생성하는 구문입니다.
구문 :
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
여기
- tableName 매개변수는 생성하려는 테이블의 이름을 나타냅니다.
- 컬럼_1, 컬럼_2… 매개변수는 테이블에 추가할 열을 나타냅니다.
- 열은 NULL 또는 NOT NULL로 지정해야 합니다. 지정하지 않으면 SQL Server는 기본값으로 NULL을 사용합니다.
두 개의 열로 구성된 기본적인 표를 만들어 보겠습니다.
검색어 :
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
전제 조건: 테이블을 생성할 데이터베이스를 선택하세요.
단계 1) 실행 버튼을 클릭하여 쿼리를 실행하세요. 쿼리를 실행하기 전에는 아래 그림과 같이 테이블이 존재하지 않습니다.
쿼리를 실행한 후 새로 고침 버튼을 클릭하면 아래 그림과 같이 Course라는 새 테이블이 생성됩니다.
단계 2) 데이터를 입력하세요. 아래 스크린샷은 행을 입력받을 준비가 된 새로운 Course 테이블을 보여줍니다.
현재까지 테이블은 존재하지만, 아직 데이터가 채워져 있지 않습니다.
Transact-SQL은 테이블에 데이터를 삽입하는 INSERT 문을 제공합니다. 이 문을 사용하면 테이블에 하나 이상의 행을 삽입할 수 있습니다.
구문 :
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
위 구문은 VALUES 키워드를 사용하여 테이블에 데이터를 삽입할 때의 기본 명령 형식을 보여줍니다.
INSERT 명령어를 사용하여 네 개의 행을 삽입해 보겠습니다.
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
아래 스냅샷은 네 행의 삽입이 성공적으로 완료되었음을 보여줍니다.
단계 3) SELECT 문을 사용하여 데이터를 볼 수 있습니다. SQL Server에서 데이터를 보려면 다음 구문을 사용하십시오.
SELECT expression FROM tableName [WHERE condition];
예시 쿼리:
SELECT * FROM COURSE;
테이블이 생성되었고 현재 4개의 레코드가 저장되어 있습니다. 참고로, 모든 열에 중복된 값이 있는 레코드를 생성할 수 있습니다. 제약.
T-SQL: 기존 테이블을 사용하여 새 테이블 생성
위에서 생성한 COURSE 테이블과 같은 테이블을 하나 더 만들고 싶지만, Course_ID 열은 필요 없고 Course_Name 열만 필요하다고 가정해 보겠습니다.
구문 :
SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;
예시 쿼리:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
단계 1) 실행 버튼을 클릭하여 쿼리를 실행합니다. 아래 그림과 같이 이전 테이블에서 하나의 열과 네 개의 레코드가 복사된 COURSE_NAMES라는 새 테이블이 생성됩니다.
예시 쿼리:
SELECT * FROM COURSE_NAMES;
아래 결과는 새 COURSE_NAMES 테이블에 있는 4개의 Course_Name 레코드를 나열합니다.
테이블 디자이너 사용
또한 다음에서 테이블을 만들 수도 있습니다. SQL Server Management Studio 테이블 디자이너를 사용하는 IDE.
단계 1) 아래 그림과 같이 마우스 오른쪽 버튼을 클릭하고 > 새로 만들기 > 테이블을 선택하세요.
단계 2) 열 이름을 입력하세요 데이터 유형각 열에 null 값을 허용할지 여부를 선택합니다.
단계 3) CTRL+S를 눌러 표를 저장하고, 이름을 Course_Title로 입력하세요.
새로 고침을 클릭하면 아래 그림과 같이 Course_Title이라는 이름과 Course_Name이라는 열 하나가 있는 새 테이블이 나타납니다.
SQL Server에서 테이블 변경
SQL Server에서 테이블을 수정하는 방법은 두 가지가 있습니다.
- T-SQL: 새 열을 추가하여 테이블을 변경합니다.
- 테이블 디자이너를 사용합니다.
T-SQL: 열을 삽입하여 테이블 변경
다음은 SQL에서 ALTER 명령의 구문입니다.
구문 :
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
검색어 :
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
단계 1) 실행 버튼을 클릭하여 쿼리를 실행하세요. 아래 그림과 같이 Course_Title 테이블에 Course_Duration이라는 새 열이 추가되었습니다.
테이블 디자이너 사용
UI의 테이블 디자이너를 사용하여 테이블을 수정할 수도 있습니다.
단계 1) 아래 그림과 같이 기존 테이블을 마우스 오른쪽 버튼으로 클릭하고 > 디자인을 선택하세요.
단계 2) 열 이름을 Course_Start_Date로 추가하고 데이터 형식을 선택하세요.
단계 3) CTRL+S를 눌러 새로 추가된 열을 저장하세요. 아래 그림과 같이 Course_Title 테이블에 Course_Start_Date라는 새 열이 생성됩니다.
SQL Server에서 테이블 삭제
테이블은 더 이상 필요하지 않을 때 삭제합니다.
SQL Server에서 테이블을 삭제하는 방법은 두 가지가 있습니다.
- SQL Server Management Studio를 사용합니다.
- T-SQL: DROP TABLE 명령어를 사용하여 테이블을 삭제합니다.
SQL Server Management Studio 사용
단계 1) 아래 그림과 같이 Course_Title이라는 이름의 기존 테이블을 마우스 오른쪽 버튼으로 클릭하고 > 삭제를 선택합니다.
단계 2) 개체 삭제 창에서 확인을 클릭합니다.
아래와 같이 Course_Title 테이블이 테이블 목록에서 삭제되었습니다.
T-SQL: 테이블 삭제
다음은 테이블을 삭제하는 구문입니다.
구문 :
DROP TABLE <tableName>;
tableName 매개변수는 삭제할 테이블의 이름입니다.
검색어 :
DROP TABLE COURSE_NAMES;
단계 1) 실행 버튼을 클릭하여 쿼리를 실행합니다. 아래 그림과 같이 테이블 목록에서 COURSE_NAMES 테이블이 삭제됩니다.
또는 소스 코드에는 테이블 구조는 그대로 유지하고 행(데이터)만 삭제하는 DELETE TABLE 명령이 나와 있으므로 나중에 테이블을 재사용할 수 있습니다.
구문 :
DELETE TABLE <Table name>;
참고 : 표준 T-SQL에서는 행을 다음과 같이 제거합니다. DELETE FROM <table>그리고 테이블은 순식간에 비워집니다. TRUNCATE TABLE <table>위에서 보여준 것처럼 DROP TABLE 명령어를 사용하면 테이블 전체가 삭제됩니다.
흥미로운 사실!
- XML이나 이미지와 같은 대용량 파일은 VARBINARY(MAX), VARCHAR(MAX) 또는 XML 형식(SQL Server에서는 사용하지 않음)과 같은 대용량 객체 데이터 형식을 사용하여 열에 저장할 수 있습니다. Oracle-스타일 BLOB 및 CLOB 이름).
- DELETE 명령은 행만 삭제하며 트랜잭션 내에서 롤백할 수 있는 반면, DROP 명령은 테이블 구조 전체를 삭제합니다. SQL Server에서는 명시적인 트랜잭션 내에서 실행되는 경우 DROP 명령조차도 롤백할 수 있습니다.
























