SQL Server 데이터베이스: SQL에서 데이터베이스 생성, 변경 및 삭제

데이터베이스 란?

데이터베이스는 테이블, 뷰, 저장 프로시저, 트리거, 함수 등과 같은 개체의 모음입니다.

실제 생활에서 몇 가지 예를 들어 보겠습니다.

  • 책이 머무는 책장이 있고,
  • 우리가 사는 집도 있고,
  • 차량이 주차된 주차장이 있으며 그 예는 셀 수 없이 많습니다.

마찬가지로, 상호 연결된 모든 테이블, 뷰, 저장 프로시저 등을 위한 일종의 집인 DATABASE가 있습니다.

기술적으로 데이터베이스는 쉽게 접근하고 검색할 수 있도록 데이터를 잘 구성된 방식으로 저장합니다. ~ 안에 SQL 서버, 데이터베이스에는 두 가지 유형이 있습니다.

  1. 시스템 데이터베이스: SQL Server를 설치할 때 시스템 데이터베이스가 자동으로 생성됩니다. 특히 데이터베이스 개체가 올바르게 실행되도록 하는 데 있어 서버에서 중요한 역할을 합니다. SQL Server 시스템 데이터베이스의 예로는 Master, MSDB, Model, Tempdb, Resource가 있습니다.
  2. 사용자 데이터베이스: 사용자 데이터베이스는 데이터베이스 생성에 대한 액세스 권한을 부여받은 귀하와 같은 데이터베이스 사용자에 의해 생성됩니다.

데이터베이스 생성 규칙

먼저, 새로운 DB를 생성하기 위한 기본 규칙을 알아야 합니다.

  • 데이터베이스 이름은 SQL Server 인스턴스 내에서 고유해야 합니다.
  • 데이터베이스 이름은 최대 128자까지 가능합니다.
  • CREATE DATABASE 문은 자동 커밋 모드에서 실행되어야 합니다.
데이터베이스 생성 규칙
데이터베이스 생성 규칙

SQL Server에서 데이터베이스를 생성하는 방법에는 두 가지가 있습니다.

  1. SQL Server Management Studio
  2. 트랜잭션-SQL

SQL Server Management Studio에서 데이터베이스를 만드는 방법

다음은 데이터베이스를 생성하는 단계별 프로세스입니다. SQL 서버 관리 스튜디오:

단계 1) '개체 탐색기' 창에서 '데이터베이스'를 마우스 오른쪽 버튼으로 클릭한 후 '새 데이터베이스'를 선택합니다.

SQL Server Management Studio에서 데이터베이스 만들기

단계 2) 아래 '새 데이터베이스' 화면이 나타납니다. '데이터베이스 이름'을 입력합니다. 참고: '논리적 이름' 열에는 다음 항목이 자동으로 채워집니다.

  1. 에듀 | 파일 유형: 행 및 파일 그룹: PRIMARY
  2. 에듀로그 | 파일 유형: LOG 및 파일 그룹: '해당 사항 없음'

SQL Server Management Studio에서 데이터베이스 만들기

이리:

가) 교육 | 파일 유형: 행 및 파일 그룹: PRIMARY는 .mdf 파일입니다.

나) Edu_log | 파일 유형: LOG 및 파일 그룹: '해당 없음'은 .ldf 파일입니다.

단계 3) (선택 사항) 더 복잡한 설정의 경우 '옵션'과 '파일 그룹'으로 이동할 수 있습니다. 초보자 수준에서는 일반 탭에서 데이터베이스를 만드는 것으로 충분합니다.

SQL Server Management Studio에서 데이터베이스 만들기

단계 4) '추가'를 클릭하세요.

SQL Server Management Studio에서 데이터베이스 만들기

결과 : 'Edu' 데이터베이스가 생성되었습니다.

SQL Server Management Studio에서 데이터베이스 만들기

테이블, 뷰 등을 포함하는 데이터베이스 – 'Edu'를 확장할 수 있습니다. 이는 사용자가 새 테이블, 뷰 등을 생성할 때까지 처음에는 비어 있습니다.

소스 쿼리 보기:

새로 생성된 'Edu' 데이터베이스의 소스 쿼리는 다음과 같이 볼 수 있습니다: 탐색: 데이터베이스 이름 > 스크립트 데이터베이스 > CREATE To > 새 쿼리 편집기 창을 마우스 오른쪽 버튼으로 클릭합니다.

SQL Server Management Studio에서 데이터베이스 만들기

쿼리 창:

SQL Server Management Studio에서 데이터베이스 만들기

스크립트 만들기:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

T-SQL을 사용하여 데이터베이스 만들기

또 다른 방법은 데이터베이스를 생성하고 실행하는 T-SQL 쿼리를 작성하는 것입니다.

대부분의 Simple Database Creation T-SQL 쿼리를 살펴보겠습니다.

구문 :

CREATE DATABASE <Database_name>

검색어 :

CREATE DATABASE [Edu_TSQL_file]

'실행'을 클릭하세요.

T-SQL을 사용하여 데이터베이스 만들기

결과 : SQL 개체 탐색기에서 생성된 Edu_TSQL을 확인할 수 있습니다.

T-SQL을 사용하여 데이터베이스 만들기

.mdf 및 .ldf 파일로 데이터베이스를 생성하려는 경우를 살펴보겠습니다. 여기서는 쿼리의 암시적 부분으로 위치를 제공할 수 있습니다.

구문 :

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

검색어 :

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

T-SQL을 사용하여 데이터베이스 만들기

데이터베이스를 변경하는 방법

데이터베이스 쿼리 생성과 마찬가지로 데이터베이스를 변경할 수도 있습니다. 데이터베이스 이름 변경, 파일 위치 및 설정 변경 등을 할 수 있습니다.

새 DB 변경에 대한 기본 규칙:

  • ALTER DATABASE 문은 자동 커밋 모드에서 실행되어야 합니다.
  • ALTER DATABASE는 명시적 또는 암시적 트랜잭션에서 허용되지 않습니다.

SQL Server에서 데이터베이스를 변경하는 방법에는 두 가지가 있습니다.

  1. SQL Server Management Studio
  2. 트랜잭션-SQL.

SQL Server Management Studio에서 데이터베이스를 변경하는 방법

다음은 SQL Server Management Studio에서 데이터베이스를 변경하는 단계입니다.

사전 생성된 데이터베이스 'Edu'의 이름을 변경해 보겠습니다.

SQL Server Management Studio에서 데이터베이스 변경

1단계) 데이터베이스 이름 바꾸기

데이터베이스 이름을 마우스 오른쪽 버튼으로 클릭합니다. '이름 바꾸기'를 클릭하세요.

SQL Server Management Studio에서 데이터베이스 변경

2단계) 새 데이터베이스 이름을 입력하세요.

데이터베이스 이름을 편집할 수 있습니다. 새 이름을 입력하고 Enter를 누르십시오.

SQL Server Management Studio에서 데이터베이스 변경

결과 : 이제 데이터베이스 이름이 'Edu'에서 'Edu_Alter'로 변경되었습니다.

SQL Server Management Studio에서 데이터베이스 변경

Transact-SQL을 사용하여 데이터베이스 변경

이제 T-SQL을 사용하여 데이터베이스를 변경해 보겠습니다.

구문 :

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

검색어 :

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

'실행'을 클릭하여 위 쿼리를 실행합니다.

결과 : 이제 데이터베이스 이름이 'Edu_TSQL'에서 'Edu_TSQL_Alter'로 변경되었습니다.

Transact-SQL을 사용하여 데이터베이스 변경

일반 구문:

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

.mdf/.ldf 파일 이름 변경

검색어 :

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Transact-SQL을 사용하여 데이터베이스 변경

.mdf/.ldf 파일 위치 변경

검색어 :

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Transact-SQL을 사용하여 데이터베이스 변경

데이터베이스 삭제

SQL Server에서 데이터베이스를 삭제하는 방법에는 두 가지가 있습니다.

  1. SQL Server Management Studio
  2. 트랜잭션-SQL.

SQL Server Management Studio에서 데이터베이스를 삭제하는 방법

SQL Server Management Studio에서 데이터베이스를 삭제하는 프로세스는 다음과 같습니다.

사전 생성된 데이터베이스 'Edu_Alter'를 삭제해 보겠습니다.

단계 1) 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다. '삭제'를 클릭한 다음 '확인'을 클릭하세요.

SQL Server Management Studio에서 데이터베이스 삭제

결과 : '개체 탐색기' 데이터베이스 목록에서 'Edu_Alter'가 삭제되었습니다.

SQL Server Management Studio에서 데이터베이스 삭제

Transact-SQL을 사용하여 데이터베이스 삭제

사전 생성된 데이터베이스 'Edu_TSQL_Alter'를 삭제해 보겠습니다.

구문 :

DROP DATABASE <Databse_name>

검색어 :

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

'실행'을 클릭하여 위 쿼리를 실행합니다.

결과 : '개체 탐색기' 데이터베이스 목록에서 'Edu_TSQL_Alter'가 삭제되었습니다.

Transact-SQL을 사용하여 데이터베이스 삭제

SQL Server에서 데이터베이스 복원

이전에 백업한 데이터베이스를 복원하여 데이터베이스를 만들 수 있습니다. 다음 구문을 사용하는 restore database 명령을 실행하여 수행할 수 있습니다.

restore Database <database name> from disk = '<Backup file location + filename>

쿼리는 이전 명령과 마찬가지로 쿼리 창 내에서 실행되어야 합니다. 예를 들어:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

GUI 탐색을 사용할 수도 있습니다. 데이터베이스를 마우스 오른쪽 버튼으로 클릭>데이터베이스 복원>장치> 파일 가져오기>확인을 클릭합니다.

제품 개요

  • SQL 관리 GUI와 T-SQL을 모두 사용하여 세 가지 작업(데이터베이스 생성, 변경, 삭제)을 모두 수행할 수 있습니다.
  • SQL Server 인스턴스에는 최대 32,767개의 데이터베이스를 지정할 수 있습니다.
  • 시스템 데이터베이스는 삭제할 수 없습니다.
  • 생성, 변경 및 삭제: 모든 작업은 대소문자를 구분하지 않습니다. 구문으로 대문자와 소문자를 모두 사용할 수 있습니다.