SQL文:MS SQL Server(DB作成)
Microsoft SQL Server の SQL文の最も簡単な文例を、SQL Server 2005 Books Online より抜粋引用し、見やすくしただけの項である。
データベースの作成
※データベースファイルの作成、テーブルとデータの追加、変更・更新の仕方。データベースを作成する
CREATE ステートメントTestData というデータベースファイルを作成する。
CREATE DATABASE TestData GO
テーブルの作成
USE,INSERT ステートメントデータベースへの切り替え(お約束)
USE TestData GO
テーブルの追加
CREATE TABLE dbo.Products ( ProductID int PRIMARY KEY NOT NULL, ProductName varchar(25) NOT NULL, Price money NULL, ProductDescription text NULL ) GO
[ 編集 ] ▲上へ
データの新規入力と更新処理
INSERT,UPDATE ステートメント| ProductID | ProductName | Price | ProductDescription |
|---|---|---|---|
| 1 | Clamp | 12.48 | Workbench clamp |
| 50 | Screwdriver | 3.17 | Flat head |
| 75 | Tire Bar | Tool for changing tires | |
| 3000 | 3mm Bracket | .52 |
データの追加
-- レコード追加の標準例
INSERT dbo.Products ( ProductID, ProductName, Price, ProductDescription )
VALUES ( 1, 'Clamp', 12.48, 'Workbench clamp' )
GO
-- 列の記述順を変えて追加している例
INSERT dbo.Products ( ProductName, ProductID, Price, ProductDescription )
VALUES ( 'Screwdriver', 50, 3.17, 'Flat head' )
GO
-- 列名を省略した記述例。(制約や読み難くなるなど・・・副作用有り)
INSERT dbo.Products
VALUES ( 75, 'Tire Bar', NULL, 'Tool for changing tires.' )
GO
-- 規定のスキーマ名 dbo. を省略した記述例。
INSERT Products ( ProductID, ProductName, Price )
VALUES ( 3000, '3mm Bracket', .52 )
GO
データの更新処理
-- ID 50 を指定し、名前を変更している例
UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
WHERE ProductID = 50
GO
[ 編集 ] ▲上へ
データを表示する。
- 1) Products テーブルのデータの読取表示
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
GO
- 2) アスタリスク(全称記号?)を使用
SELECT * FROM Products GO
- 3) 表示列を指定・限定する(不要列の非表示)
SELECT ProductName, Price FROM dbo.Products GO
- 4) レコードの絞込み( WHERE 句を使用して id 60 以下に限定 )
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
WHERE ProductID < 60
GO
- 5) 演算と演算列の名称指定( ProductName と計算結果 CustomerPays を表示 )
SELECT ProductName, Price * 1.07 AS CustomerPays
FROM dbo.Products
GO
[ 編集 ] ▲上へ
まとめと補足
一括操作
TestData Object の削除方法までの一連の流れを理解し以下連続操作を実行する。
※削除が適切に行われていないとエラーが多発・・・発生・・・する。
/* 1) TestData データベース作成とテーブルの作成まで */ -- ***** TestData データベースの新規作成 CREATE DATABASE TestData GO -- ***** カレントデータベースの移動 USE TestData GO -- ***** テーブルの新規作成 CREATE TABLE dbo.Products ( ProductID int PRIMARY KEY NOT NULL, ProductName varchar(25) NOT NULL, Price money NULL, ProductDescription text NULL ) GO
1) のコードと連続実行したらなぜかエラー。->以下分割実行したところ問題なし。
/*
2) とデータの連続入力と更新処理
*/
-- ***** 実データの追加
-- 例 (1)
INSERT dbo.Products ( ProductID, ProductName, Price, ProductDescription )
VALUES ( 1, 'Clamp', 12.48, 'Workbench clamp' )
GO
-- 例 (2)
INSERT dbo.Products ( ProductName, ProductID, Price, ProductDescription )
VALUES ( 'Screwdriver', 50, 3.17, 'Flat head' )
GO
-- 例 (3)
INSERT dbo.Products
VALUES ( 75, 'Tire Bar', NULL, 'Tool for changing tires.' )
GO
-- 例 (4)
INSERT Products ( ProductID, ProductName, Price )
VALUES ( 3000, '3mm Bracket', .52 )
GO
-- ***** データの更新処理
UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
WHERE ProductID = 50
GO
表示実行は、適当にコメント位置をずらしながらすると楽。
/*
-- 1) Products テーブルのデータの読取表示
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
GO
-- 2) アスタリスク(全称記号?)を使用
SELECT * FROM Products
GO
*/
-- 3) 表示列を指定・限定する(不要列の非表示)
SELECT ProductName, Price FROM dbo.Products
GO
/*
-- 4) レコードの絞込み( WHERE 句を使用して id 60 以下に限定 )
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
WHERE ProductID < 60
GO
-- 5) 演算と演算列の名称指定( ProductName と計算結果 CustomerPays を表示 )
SELECT ProductName, Price * 1.07 AS CustomerPays
FROM dbo.Products
GO
*/
[ 編集 ] ▲上へ
データベース・SQL文・SQLクエリー(query)関連リンク
参考になる書籍など
・SQL Server ・データベース・プログラミング ・ASP.NET ・SQL全般
- データベース/データベースプログラミング関連
wiki内関連ページ
- SQL文:SQLステートメント
- SQLステートメント
- SQLクエリー
- SQL文:ユニオンクエリー
- SQL文:パススルークエリー?
- SQL文:データ定義クエリー
- SQL文:サブクエリー?
- VB2005リファレンス(覚え書き)
- Microsoft SQL Server 関連
[ 編集 ] ▲上へ
2009年08月21日(金) 19:28:58 Modified by sakura_momo2
