T-SQL オブジェクトの操作・制御

T-SQL(Transact-SQL)はMicrosoft SQL Serverで使われるSQLのバリエーションの1つです。

当ページではデータベースやテーブルの作成や削除等についてまとめています。

オブジェクトの操作・制御

ストアドプロシージャ・関数向け処理

その他

データベースの作成

データベースを作成します。

文法

CREATE DATABASE データベース名

例文

CREATE DATABASE Database_1

データベースの削除

データベースを削除します。

文法

DROP DATABASE データベース名

例文

DROP DATABASE Database_1

テーブルの作成

テーブルを作成します。

カラム情報を直接指定

カラム情報を直接指定してテーブルを作成します。

文法

CREATE TABLE テーブル名 (

カラム1名 データ型 オプション,

カラム2名 データ型 オプション,

:

:

:

カラムn名 データ型 オプション

)

例文

CREATE TABLE Table_1 (

no int NOT NULL PRIMARY KEY,

name varchar(50)

)

SELECT結果を基にテーブル作成

SELECT結果をそのままテーブルとして作成します。ただし、カラムは全てNULLを許容し、かつオプションは無しの状態となります。テーブルのコピーを作る際などに便利です。

文法

SELECT

※カラム指定

INTO 作成テーブル名

FROM

※テーブル指定

例文

SELECT

*

INTO Table_2

FROM

Table_1

テーブルの削除

テーブルを削除します。

文法

DROP TABLE テーブル名

例文

DROP TABLE Table_1

カラムの追加

カラムを追加します。

文法

ALTER TABLE テーブル名

ADD

カラム1名 データ型 オプション,

カラム2名 データ型 オプション,

:

:

:

カラムn名 データ型 オプション

例文

ALTER TABLE Table_1

ADD

value int

カラムの変更

カラムを変更します。1度変更できるカラムは1つまでです。

文法

ALTER TABLE テーブル名

ALTER COLUMN カラム名 データ型 オプション

例文

ALTER TABLE Table_1

ALTER COLUMN name varchar(50) NOT NULL

カラムの削除

カラムを削除します。

文法

ALTER TABLE テーブル名

DROP COLUMN

カラム1名,

カラム2名,

:

:

:

カラムn名

例文

ALTER TABLE Table_1

DROP COLUMN

code,

value

レコードの挿入

レコードを新たに挿入します。

データを直接指定

挿入するレコードのデータを直接指定します。

文法

INSERT INTO テーブル名 (

カラム1名,

カラム2名,

:

:

:

カラムn名

)

VALUES (

カラム1に挿入するデータ,

カラム2に挿入するデータ,

:

:

:

カラムnに挿入するデータ

)

例文

INSERT INTO Table_1 (

no,

name,

value

)

VALUES (

1,

'Egg',

270

)

全てのカラムにデータを挿入する場合はカラムの指定を省略することができます。

文法(カラム指定省略版)

INSERT INTO テーブル名

VALUES (

カラム1に挿入するデータ,

カラム2に挿入するデータ,

:

:

:

カラムnに挿入するデータ

)

SELECT文の結果を挿入

SELECT文の結果を挿入します。当然ですが挿入先となるカラムのデータ型に適したデータを指定しないと挿入できませんので注意してください。

文法

INSERT INTO テーブル名 (

カラム1名,

カラム2名,

:

:

:

カラムn名

)

※以下SELECT文

例文

INSERT INTO Table_1 (

no,

name

)

SELECT

no,

product_name

FROM

Table_2

全てのカラムにデータを挿入する場合はカラムの指定を省略することができます。

文法

INSERT INTO テーブル名

※以下SELECT文

レコードの更新

レコードを更新します。WHERE句は省略することができます。

文法

UPDATE テーブル名

SET

カラム = データ,

:

:

:

カラム = データ

WHERE

カラム 演算子 値

例文

UPDATE Table_1

SET

value = 1000

WHERE

no > 10 AND

no < 21

レコードの削除

レコードを削除します。WHERE句を使って削除するレコードを指定する方法と、全てのレコードを一括削除する代わりに素早く削除できる方法の2通りがあります。

条件を付けて削除

WHERE句に削除するレコードの条件を指定します。WHERE句を指定しない場合、全レコードを削除しますが、その場合はもう1つの削除方法であるTRUNCATE TABLE文を利用するほうが高速で処理できます。なおFROMは省略することができます。

文法

DELETE FROM テーブル名

WHERE ※条件

例文

DELETE FROM Table_1

WHERE

no > 10 AND

no < 21

例文(省略版)

DELETE Table_1

WHERE

no > 10 AND

no < 21

高速で一括削除

全レコードを高速で一括削除します。削除するレコードを指定したい場合はもう1つの削除方法であるDELETE文を利用してください。

文法

TRUNCATE TABLE テーブル名

例文

TRUNCATE TABLE Table_1