|











|
 |
データ型・定義
SQL Server
2005ではデータ型が変更になるので、注意が必要です。
|
|
|
1.目次
2.SQL Server 2000 のデータ型
3.名前の規則
4.グローバル変数
5.ユーザー定義データ型
6.データの定義
7.完全修飾名
8.DateTime
9.Transact-SQLの要素
10.DBCCステートメント
|
|
|
赤い文字がSQL Server
2000で将来削除される可能性があるデータ型。
青い文字がSQL Server 2005で追加されるデータ型。
| 分類 | データ型 |
SqlDbType | 説明 | サイズ |
| Exact Numerics | bigint | Int64 | -2^63 (-9,223,372,036,854,775,808) 〜2^63-1
(9,223,372,036,854,775,807) | 8 Bytes |
| int | Int32 | -2^31 (-2,147,483,648) 〜 2^31-1 (2,147,483,647) | 4 Bytes |
| smallint | Int16 | -2^15 (-32,768) 〜 2^15-1 (32,767) | 2 Bytes |
| tinyint | Byte | 0 〜 255(Unsigned) | 1 Byte |
| bit | Boolean | 0、1、NULL のいずれか。複数の列がある場合は、8bit ごとにパックされる。 | 可変 |
| decimal | Decimal |
固定長の有効桁数と小数点以下桁数を指定した固定小数点データ。十進での最大有効桁数は、38桁。デフォルトでは18桁。 | 可変 |
| numeric | Decimal | decimal型と同じ | 可変 |
| money | Decimal | -922,337,203,685,477.5808 〜 922,337,203,685,477.5807 | 8 Bytes |
| smallmoney | Decimal | - 214,748.3648 〜 214,748.3647 | 4 Bytes |
| Approximate Numerics | float [ ( n ) ] | Double | 倍精度浮動小数点実数。
- 1.79E + 38 〜 -2.23E - 38,
0,
2.23E -38 〜 1.79E + 38nは1-53。デフォルトで53。
SQL 2005
では、1<=n<=24の場合は、24の単精度浮動小数点実数として扱われる。25<=n<=53の場合は53として扱われる。 | 4 Bytes(1<=n<=24)
8 Bytes(25<=n<=53) |
| real | Signle | 単精度浮動小数点実数。
float(24)と同じ。
-1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38 | 4 Bytes |
| Date and Time | datetime | DateTime | 1753年1月1日 〜
9999年12月31日
精度は、3.33 mSECなので、
01/01/98 23:59:59.999は、
1998-01-02 00:00:00.000に丸められる。 | 4 Bytes |
| smalldatetime | DateTime | 1900年1月1日 〜
2079年6月6日
精度は1分なので、'2003-05-08
12:35:29.998'は、12:35に丸められる。 | 2 Bytes |
| Character Strings | char [ ( n ) ] | String | 非Unicode固定長文字列。nは、1から8000まで。 | 可変 |
| text | String | 非Unicode可変長文字列。最大2,147,483,647文字まで。
将来削除されるので、varchar(max)を使用すること。 | 可変 |
varchar
[ ( n | max ) ] | String | 非Unicode可変長文字列。nは、1から4000まで。
max の場合の最大ストレージ容量は、2^31-1 bytes。ストレージサイズは、データ量+2 bytes。 | 可変 |
| Unicode Character Strings | nchar [ ( n ) ] | String | Unicode固定長文字列。nは、1~4000まで。 | 可変 |
| ntext | String | Unicode可変長文字列。最大30 - 1 (1,073,741,823)文字まで。UNICODE
UCS-2 character set。
将来削除されるので、nvarchar(max)を使用すること。 | 可変 |
nvarchar
[ ( n | max ) ] | String | Unicode可変長文字列。nは、1から4000まで。
max の場合の最大ストレージ容量は、2^31-1 bytes。ストレージサイズは、データ量+2 bytes。 | 可変 |
| Binary Strings | binary [ ( n ) ] | Byte[] | 固定長バイナリデータ。nは、1~8000まで。 | 固定長 |
| varbinary [ ( n| max) ] | Byte[] | 可変長バイナリデータ。nは、1から8000まで。
max の場合の最大ストレージ容量は、2^31-1 bytes。ストレージサイズは、データ量+2 bytes。 | 可変 |
| image | Byte[] | 可変長バイナリデータ。最大2,147,483,647bytes。
将来削除されるので、nvarchar(max)を使用すること。 | 可変 |
| Other Data Types | cursor | | カーソル型。CREATE TABLEの列には使用できない。 | 不明。 |
| timestamp | Byte [] | 行が更新されたときに値が更新されるタイムスタンプとして使われることが多い。
自動生成されるバイナリ数のデータ型。データベース内でのユニーク性が保障されている。 | 8 bytes |
| sql_variant | | text, ntext, image, timestamp, and sql_variant以外のSQL
サーバデータ型をサポートするバリアント型 | 可変。 |
| uniqueidentifier | Guid | 16-byte のGUID (globally unique identifier). | 16bytes |
| table | | テーブル型の関数のリザルトセットとして、使用される特別なデータ型。 | 不明。 |
| xml | XML value | xmlデータを格納するためのデータ型。xmlインスタンスまたxml型の変数を列に格納できる。 | 可変。 |
|
|
|
| 種類 |
説明 |
| ローカル変数 |
@で始まる。 |
| 一時テーブル |
#で始まる。 |
| 一時プロシージャ |
#で始まる。 |
| グローバルな一時オブジェクト |
##で始まる。 |
| グローバル変数 |
@@で始まる。一部の関数の名前は@@ から始まるので、@@ から始まる名前は使用しないほうがよい。 |
|
|
|
| 項目 |
コマンド例 |
| 自分のプロセスID |
SELECT @@spid |
| プロセス一覧 |
EXEC sp_who |
|
|
|
EXEC sp_addtype birthday, datetime,
'NULL'
-- Create a table using the new data type.
CREATE TABLE employee
(emp_id
char(5),
emp_first_name char(30),
emp_last_name char(40),
emp_birthday
birthday)
|
|
|
1ページの大きさは8KB
行は複数ページまたがることはできない。text, ntext , imageを除く1行に入るデータの最大量は8060バイト。
1エクステント=連続する8ページ。
データベースの最初のエクステントはシステム情報用に予約されている。
ページ0: ファイルヘッダー
ページ1: PFS(ページ空き領域)。
ページ2: GAM(グローバルアロケーションマップ)。割り当てられたエクステントの情報。
ページ3: SGAM(シェアードグローバルアロケーションマップ)。割り当てられた混合エクステントの情報。
|
|
|
server.database.owner.object
例:
SELECT * FROM SQL2000.Northwind.dbo.Products
SELECT * FROM Northwind.dbo.Products
SELECT * FROM dbo.Products
SELECT * FROM Products
| テーブルの指定の仕方 |
| SELECT * FROM [My
Table] のようにキーワードを含んだり間にスペースがあるIDを指定する場合には、" " またはかぎ括弧の[ ]
で囲む。
正確には、次のようになるが、サーバー名、データベース名、オーナー名は省略可能。
[サーバー名].[データベース名].[オーナー名].[オブジェクト名]
コードがみにくくなりますが、バグを避ける意味では、[]付きでフルに指定するのがよいと思います。 |
|
|
|
T-SQL スクリプト、ストアド プロシージャ、トリガでは、date または smalldate
データ型と文字列データ型間での変換では CONVERT ステートメントのような明示的なスタイル パラメータを使用する。
例
SELECT *
FROM Northwind.dbo.Orders
WHERE OrderDate = CONVERT(DATETIME, '7/19/1996', 101)
|
|
|
| |
|
| データ制御言語(DCL:Data Control Language) |
GRANT, DENY, REVOKE |
| データ定義言語(DDL:Data Definition Language) |
CREATE, ALTER, DROP |
| データ操作言語(DML:Data Manipulation Language) |
SELECT, INSERT, DELETE, UPDATE |
|
|
|
データベースのコンソールコマンドの役割を果たすものが、DBCCステートメントです。
| メンテナンスステートメント |
説明 |
| DBCC DBREINDEX |
インデックスの再構築 |
| DBCC DBREPAIR |
使用しない。 |
| DBCC INDEXDEFRAG |
クラスタ化インデックス、セカンダリインデックスのデフラグ |
| DBCC SHRINKDATABASE |
データベースのデータファイルの圧縮 DBCC SHRINKDATABSE (Pubs, 10)
Pubs のファイルの空き領域が 10% になるように圧縮します。 |
| DBCC SHRINKFILE |
データベースのデータファイルまたはログの圧縮 DBCC SHRINKFILE
(DataFile, 1)
DataFileを1MBになるように圧縮します。 |
| DBCC UPDATEUSAGE |
sysindexesの情報の不一致を報告、訂正する |
| その他のステートメント |
|
| DBCC dllname (FREE) |
拡張ストアドのDLLを開放 |
| DBCC HELP |
DBCCのヘルプ
例: DBCC HELP ('?')、DBCC HELP ('HELP') |
| DBCC PINTABLE |
テーブルをメモリからフラッシュしないようにします。頻繁に使用する小さなテーブルのときに使用する。 |
| DBCC UNPINTABLE |
PINTABLEのピンをはずして、フラッシュできるようにする。 |
| DBCC ROWLOCK |
使用しない。 |
| DBCC TRACEON |
指定されたトレースフラグをオンにする |
| DBCC TRACEOFF |
指定されたトレースフラグをオフにする |
| ステータスステートメント |
|
| DBCC INPUTBUFFER |
きっと使わない。 |
| DBCC OPENTRAN |
きっと使わない。 |
| DBCC OUTPUTBUFFER |
きっと使わない。 |
| DBCC PROCCACHE |
プロシージャのキャッシュを返す |
| DBCC SHOWCONTIG |
指定されたテーブルのデータとインデックスの断片化に関する情報を表示 |
| DBCC SHOW_STATISTICS |
テーブルの統計情報を表示 |
| DBCC SQLPERF |
トランザクションログ領域の使用状況に関する統計情報 例 DBCC SQLPERF(
LOGSPACE ) |
| DBCC TRACESTATUS |
トレースフラグの状態を表示 |
| DBCC USEROPTIONS |
SETオプションを表示 |
| 評価スステートメント |
|
| DBCC CHECKALLOC |
データベース用ディスクの割り当て構造の一貫性をチェック |
| DBCC CHECKCATALOG |
データベースのシステムテーブル内の一貫性、およびテーブル間の一貫性をチェック |
| DBCC CHECKCONSTRAINTS |
制約の整合性チェック |
| DBCC CHECKDB |
データベースをチェック |
| DBCC CHECKFILEGROUP |
ファイルグループをチェック |
| DBCC CHECKIDENT |
テーブルのIDをチェック |
| DBCC CHECKTABLE |
テーブルをチェック |
| DBCC NEWALLOC |
Obsolete。CHECKALLOCを使用すること。 |
|
|