受講料が最大70%OFF 受講料が最大70%OFF

データベースの仕様変更時によくありがちな事案の一つに「データベーステーブルにカラムを追加する」というものがあります。

現在SQLを学習中の方も色々試すにあたり、カラムを追加したり削除したりすることはあるでしょう。

そこで今回は「SQLで列を追加する二つの方法」について解説してみたいと思います。

どちらが良いということはありませんが、両方覚えておくことで学習の意味が更に良いものへと変わるはずです。

カラムを扱う二つの方法

SQLを扱うにあたり、方法は二通りあります。

まず一つ目は”SQL Server Management Studio(SSMS)を使用する方法”です。

こちらはアプリケーションのインターフェースがしっかりしているため、全てをコマンド実行せずともマウスでの操作が可能です。

初心者の方にとってはSSMSを使った方が色々とやり易いと思います。

二つ目の方法としては”Transact-SQLを利用する方法”です。

Transact-SQLとは、コマンドプロンプトに直接コマンドを入力してSQLを実行する方法を指します。

こちらはマウスでの操作が不可能なためSSMSよりは若干難易度は上がりますが、SQL自体がそれほど難易度の高いものではないので、ある程度の知識さえ身につければコーディングに困ることはないでしょう。

SSMSはインストール環境が整っていない場合使用することは出来ませんが、Transact-SQLはプロンプトだけで実行できるため、両方覚えておくことで環境を選ぶ必要がなくなるので、どちらも使えるようになっておくと便利です。

SSMSを使う方法

それでは早速SSMSを使って列を追加する方法について解説していきます。

※SSMSはインストール環境が無いと操作が出来ない為、この記事を読むにあたりSSMSを予めインストールしておいて下さい。

まずスタートアップメニューから「Microsoft SQL Server Management Studio」を開きます。

SSMSの画面が起動したらサーバー選択画面と接続画面が表示されると思いますので、接続してください。

接続が完了するとオブジェクトエクスプローラーが画面左側にありますので、そこから次のように進んでください。

サーバー選択 → データベースフォルダ → データベース選択 → テーブルフォルダ → テーブルを右クリック

ポップアップで色々メニューが出てくると思います。

この中から「デザイン(G)」を選択してください。

すると画面の右側に下の図のようなウィンドウが開きます。

このウィンドウで空欄をクリックすると、新しく列を追加できます。

「列名」「データ型」「NULLを許容」の3項目あると思いますので、それぞれ設定します。

全ての設定が完了しましたら、最後に保存ボタン(オブジェクトエクスプローラー上のバーメニューにあります)を押します。

これでデータベーステーブルに新しく列が追加されました。

このようにSSMSを使用するとほぼマウスのみの動作で列を追加することが出来ます。

※今回はSSMSにスポットを当てた記事ではない為、SSMSの詳しい使い方については省略させていただきます。

Transact-SQLを使う方法

今度はTransact-SQLを使った列の追加方法について解説していきます。

Transact-SQLを利用するにあたり、先ほど説明したSSMSの「サーバー名」「ユーザー名」「パスワード」の3つが必要となるため、予め用意しておいてください。

ではまず、Windowsならコマンドプロンプト、Macならターミナルを開いてください。

※今回はWindowsでの解説をしていきますが、ターミナルでも操作は一緒なのでMacの方もこのまま読み進めてください。

プロンプトが開いたら早速「sqlcmd」というコマンドを利用してサーバーを開きます。

sqlcmdは”SQL Command”の略です。

サーバーを接続するためには必ず必要となるコマンドなので覚えておいてください。

このコマンドの基本的な記述は次の通りです。

sqlcmd -S [Server_name] -U [user_name] -P [Password]

またsqlcmdで使用しているハイフンの付いた文字の意味は次の通りとなっています。

これでコマンドプロンプトとサーバーの接続が完了していると思います。

まず使用するデータベースを選択する必要があるので、確認も兼ねて次のコマンドを入力してみましょう。

USE [database_name];
GO

正しく接続されていれば「データベース コンテキストが ‘[database_name]’ に変更されました。」と表示されます。

これで準備は整ったので、次からは列の追加方法について解説していきます。

ALTER TABLEとADDを使う

transact-SQLで列を追加するためには「ALTER TABLE」と「ADD」という二つの命令句を使用します。

ALTER TABLEはデータベーステーブルの列に何かしらの変更(追加 / 変更 / 削除)をする場合に必ず使用する命令句です。

追加なら「ADD」、定義変更は「UPDATE」、削除は「DROP」をセットで使用しますが、今回は”列の追加”についての記事なので、ADDを使って解説を進めます。

またALTER TABLEの記述ルールは次のようになっています。

ALTER TABLE
	[table_name]
ADD
	[column_name]
	[data_type]
	[NULL or NOT NULL]
	[default]
[first]/[after [target column_name]]

ADDの後にあるステータスは必要に応じて使用してください。

各ステータスの説明は次の通りです。

では早速、実際に追加してみましょう。

// 今回使用しているサンプルテーブルの構造
id      name
------- ----------

ALTER TABLE
	sample_table
ADD
	age
	int
GO

id      name       age
------- ---------- ------------

データベーステーブルに新たに列が追加されたことが確認できました。

1点注意すべきは、Transact-SQLでコマンドを使用して基本的な列の追加を行った場合、列は末尾に追加されます。

もし列を任意の位置に差し込みたい場合にはSSMSを使用するしかないので注意してください。

複数の列を同時に追加する場合

複数のカラムを追加する場合には、カンマで区切ることでまとめて追加することが出来ます。

// 今回使用しているサンプルテーブルの構造
id      name
------- ----------

ALTER TABLE
	dbo.sample_table
ADD
	age
	int,
	flug
	int
	NOT NULL
	default 1,
	job
	nchar(50)
GO

id      name       age          flug     job
------- ---------- ------------ -------- ------------

結果を見ると複数の列が一つのクエリで追加されていることが確認できます。

まとめ

いかがでしたか?

今回は「SQLで列を追加」について二つの方法を紹介しました。

Transact-SQLもケースによっては利用することがあると思います。

両方しっかりとマスターしておくと環境の変化で困ることがなくなりますので、しっかりとマスターしておきましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。