IT

【SQL Server】まとめ

SQLServerのデータ型一覧

Noカテゴリデータ型備考
1厳密な数値tinyint
2smallint
3int
4bigint
5bitbitデータ型は、ブール値を格納するために使用されます。
6decimal [ ( p [ , s ] )
decimalとnumericデータ型は同じです。
7numeric [ ( p [ , s ] ) ]
8money
9smallmoney
10概数float [ (n) ]
11real
12日付と時刻date
13time
14datetime2
15datetimeoffset
16datetime
17smalldatetime
18文字列char [ ( n ) ]
19varchar [ ( n ) ]
20text※SQL Serverの将来のバージョンで削除される予定
21ユニコード文字列nchar [ ( n ) ]
22nvarchar [ ( n | max ) ]
23ntext※SQL Serverの将来のバージョンで削除される予定
24バイナリ文字列binary [ ( n ) ]
25varbinary [ ( n | max ) ]
26image※SQL Serverの将来のバージョンで削除される予定
27その他のデータ型cursor
28geography地理と地理データ型は、空間型です。
29geometry
30hierarchyid
31json
32rowversion
33sql_variant
34テーブル
35uniqueidentifier
36xml

数値型の範囲

データ型範囲範囲の表記ストレージ
bigint-9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
-2^63 ~
2^63-1
8 バイト
int-2,147,483,648 ~
2,147,483,647
-2^31 ~
2^31-1
4 バイト
smallint-32,768 ~
32,767
-2^15 ~
2^15-1
2 バイト
tinyint0 ~
255
2^0-1 ~
2^8-1
1 バイト
データ型 (Transact-SQL) - SQL Server
この記事では、SQL Server データベース エンジンで使用できるさまざまなデータ型の概要について説明します。

SQL Serverの操作メモ

  • 列を任意の位置に挿入することはできない。
  • テーブルの削除→再作成を、一連のクエリで実行してはいけない。
  • バックアップ→DROP TABLE→CREATE TABLE→バックアップ復元、の手順は、ロックがかかってしまい、実行できなかった。
  • SQL Serverの場合は「末尾に追加する」が最適解っぽい。
ALTER TABLE [DB名].[dbo].[テーブル名]
 ADD COLUMN 列名 型名(長さ);
ALTER TABLE [DB名].[dbo].[テーブル名]
 ALTER COLUMN 列名 型名(長さ);
ALTER TABLE (Transact-SQL) - SQL Server
ALTER TABLE では、列と制約を変更、追加、または削除して、テーブルの定義を変更します。 また、ALTER TABLE では、パーティションを再割り当ておよび再構築したり、制約とトリガーを無効化および有効化したりもします。
テーブル作成後の定義変更のSQL | DB & SQL 技術ブログ

コメント方法

  • コメント追加
  • コメント更新
  • コメント削除
  • コメント取得

テーブルコメント

EXEC sys.sp_addextendedproperty
 @name=N'MS_Description'
,@value=N'テーブルコメント'
,@level0type=N'SCHEMA'
,@level0name=N'dbo'
,@level1type=N'TABLE'
,@level1name=N'テーブル名'
;

カラムコメント

EXEC sys.sp_addextendedproperty
  @name=N'MS_Description'
, @value=N'カラムコメント'
, @level0type=N'SCHEMA'
, @level0name=N'dbo' --スキーマ名
, @level1type=N'TABLE'
, @level1name=N'テーブル名'
, @level2type=N'COLUMN'
, @level2name=N'列名'
EXEC sys.sp_updateextendedproperty
  @name=N'MS_Description'
, @value=N'カラムコメント'
, @level0type=N'SCHEMA'
, @level0name=N'dbo' --スキーマ名
, @level1type=N'TABLE'
, @level1name=N'テーブル名'
, @level2type=N'COLUMN'
, @level2name=N'列名'
EXEC sys.sp_dropextendedproperty
  @name=N'MS_Description'
, @value=N'カラムコメント'
, @level0type=N'SCHEMA'
, @level0name=N'dbo' --スキーマ名
, @level1type=N'TABLE'
, @level1name=N'テーブル名'
, @level2type=N'COLUMN'
, @level2name=N'列名'
SELECT A.name AS テーブル名
      ,B.value AS コメント
  FROM sys.tables A
 RIGHT OUTER JOIN sys.extended_properties B
    ON A.object_id = B.major_id
   AND B.minor_id = 0
 WHERE A.name = 'テーブル名'

参考

テーブルの列にコメントを追加・修正・削除・取得する - SQL Server - Project Group
テーブルの列にコメントを追加・修正・削除・取得する

コメント