最近更新したページ
2013-10-20
2013-09-29
2013-09-23
2012-01-07
2011-11-09
2011-10-23
2011-10-09
2011-10-01
2011-09-29
2011-09-03
2011-08-07
2011-08-02
2011-07-29
2011-07-10
2011-05-05
2011-05-04
2011-04-24
2011-04-13
2011-04-05
2011-03-26
2011-02-18
2011-02-15
2010-12-26
2010-12-07
2010-12-05
2010-11-23
2010-09-28
2010-09-23
2010-08-26
2010-08-22
2010-07-16
2010-01-17
2010-01-11
2009-10-04
2009-08-21
2009-08-13
2009-06-18
2009-06-01
2009-04-29
2009-02-16
2009-02-11
2009-02-03
2008-07-22
2008-07-21
2008-07-15
2008-07-14
2008-07-13
2008-07-12
2008-07-08
2008-07-05
2008-06-28
2008-06-17
2008-06-05
2008-06-02
2008-06-01
2008-05-29
2008-05-26
2008-05-21
2008-05-19
2008-05-18
2007-10-31
2007-10-27
2007-09-28
2007-09-23
2007-09-17
2007-09-16
2007-09-14
2007-09-11
2007-06-18
2007-04-15
2006-12-21
2006-11-30
2006-11-22
2006-08-17
2006-03-29
2006-03-28
2006-03-27

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.NETSQL全般

  • データベース/データベースプログラミング関連





wiki内関連ページ



[ 編集 ] ▲上へ
2009年08月21日(金) 19:28:58 Modified by sakura_momo2




スマートフォン版で見る