SQL Server データベース: SQL でのデータベースの作成、変更、削除
データベースとは何ですか?
データベースは、テーブル、ビュー、ストアド プロシージャ、トリガー、関数などのオブジェクトのコレクションです。
実際の例をいくつか挙げて考えてみましょう。
- 我が家には本が入っている本棚があり、
- 私たちが住んでいる場所には家があり、
- 当社には車両を駐車できる駐車場があり、その例は数え切れないほどあります。
同様に、相互リンクされているすべてのテーブル、ビュー、ストアド プロシージャなどの一種のホームである DATABASE があります。
技術的には、データベースは、簡単にアクセスして取得できるように、データを適切に整理された方法で保存します。 で SQLサーバー、データベースには次の XNUMX 種類があります。
- システムデータベース: システム データベースは、SQL Server をインストールするときに自動的に作成されます。 これらはサーバー内で、特にデータベース オブジェクトが正しく実行されるようにする上で重要な役割を果たします。 SQL Server システム データベースの例には、Master、MSDB、Model、Tempdb、Resource などがあります。
- ユーザーデータベース: ユーザー データベースは、データベースを作成するためのアクセス権を付与されたあなたのようなデータベース ユーザーによって作成されます。
データベース作成のルール
まず、新しい DB を作成するための基本的なルールを知る必要があります。
- データベース名は SQL Server のインスタンス内で一意である必要があります。
- データベース名には最大 128 文字を使用できます。
- CREATE DATABASE ステートメントは自動コミット モードで実行する必要があります。
SQLサーバーにデータベースを作成するには2つの方法があります。
- SQL Server Management Studio
- Transact SQL
SQL Server Management Studio でデータベースを作成する方法
ここではデータベースを作成する手順を段階的に説明します。 SQL サーバー管理スタジオ:
ステップ1) 「オブジェクト エクスプローラー」ウィンドウで「データベース」を右クリックし、「新しいデータベース」を選択します。
ステップ2) 以下の「新規データベース」画面が表示されます。 「データベース名」を入力します。「論理名」列には次の情報が自動的に入力されます。
- エデュ | ファイルタイプ: 行およびファイルグループ: PRIMARY
- 教育ログ | ファイルタイプ: LOG およびファイルグループ: 「該当なし」
ここに:
A) エデュ | ファイルタイプ: 行とファイルグループ: PRIMARY は .mdf ファイルです
B) 教育ログ | ファイルタイプ: LOG およびファイルグループ: 「該当なし」は .ldf ファイルです
ステップ3) (オプション) より複雑な設定については、「オプション」と「ファイル グループ」に移動できます。初心者レベルでは、「全般」タブからデータベースを作成すれば十分です。
ステップ4) 「追加」をクリックします。
結果: 「Edu」データベースが作成されました。
データベース – 「Edu」を展開すると、テーブルやビューなどが含まれます。これらは、ユーザーが新しいテーブルやビューなどを作成するまで、最初は空白です。
ソース クエリを表示します。
新しく作成された「Edu」データベースのソース クエリは次のように表示できます。ナビゲーション: [データベース名] を右クリック > [データベースのスクリプト作成] > [作成先] > [新しいクエリ エディター ウィンドウ] を選択します。
クエリウィンドウ:
スクリプトを作成します:
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 を使用してデータベースを作成する
もう XNUMX つの方法は、データベースを作成するための T-SQL クエリを作成して実行することです。
ほとんどの単純なデータベース作成 T-SQL クエリを見てみましょう。
構文:
CREATE DATABASE <Database_name>
クエリ:
CREATE DATABASE [Edu_TSQL_file]
「実行」をクリックします
結果: SQL オブジェクト エクスプローラーで Edu_TSQL が作成されたことがわかります。
.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 )
データベースを変更する方法
データベース クエリの作成と同様に、データベースを変更することもできます。 データベース名の変更、ファイルの場所や設定の変更などを行うことができます。
新しい DB を変更するための基本ルール:
- ALTER DATABASE ステートメントは自動コミット モードで実行する必要があります。
- ALTER DATABASE は、明示的または暗黙的なトランザクションでは許可されません。
SQLサーバーでデータベースを変更するには2つの方法があります。
- SQL Server Management Studio
- トランザクション SQL。
SQL Server Management Studio でデータベースを変更する方法
SQL Server Management Studio でデータベースを変更する手順は次のとおりです。
事前に作成したデータベース「Edu」の名前を変更してみましょう。
ステップ 1) データベースの名前を変更する
データベース名を右クリックします。 「名前の変更」をクリックします。
ステップ 2) 新しいデータベース名を入力します
データベース名が編集可能になります。 新しい名前を入力し、Enter キーを押します。
結果: データベースの名前は「Edu」から「Edu_Alter」に変更されました。
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」に変更されました。
一般的な構文:
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 );
.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' );
データベースの削除
SQLサーバーでデータベースを削除するには2つの方法があります。
- SQL Server Management Studio
- トランザクション SQL。
SQL Server Management Studio でデータベースを削除する方法
SQL Server Management Studio でデータベースを削除するプロセスは次のとおりです。
事前に作成したデータベース「Edu_Alter」を削除してみましょう。
ステップ1) 「データベース」を右クリックします。 「削除」をクリックしてから「OK」をクリックします。
結果: 「Edu_Alter」が「オブジェクト エクスプローラー」のデータベース リストから削除されます。
Transact-SQL を使用してデータベースを削除する
事前に作成したデータベース「Edu_TSQL_Alter」を削除してみましょう。
構文:
DROP DATABASE <Databse_name>
クエリ:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
[実行] をクリックして上記のクエリを実行します。
結果: 「Edu_TSQL_Alter」が「オブジェクト エクスプローラー」データベース リストから削除されます。
SQL Server でデータベースを復元する
以前にバックアップしたデータベースを復元することで、データベースを作成できます。これは、次の構文を使用するデータベースの復元コマンドを実行することで実行できます。
restore Database <database name> from disk = '<Backup file location + filename>
クエリは、前のコマンドと同様にクエリ ウィンドウ内で実行する必要があります。 例えば:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
GUI ナビゲーションを使用することもできます。[データベースを右クリック] > [データベースの復元] > [デバイス] > [ファイルのインポート] > [OK] をクリックします。
まとめ
- SQL 管理 GUI と T-SQL の両方を使用して、データベースの作成、変更、削除という 3 つの操作をすべて実行できます。
- SQL Server のインスタンスには最大 32,767 のデータベースを指定できます。
- システムデータベースは削除できません。
- 作成、変更、削除: すべての操作は大文字と小文字を区別しません。構文として大文字と小文字の両方を使用できます。