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