戻る

SQLServer

目次

  1. データベースオブジェクトの種類
  2. 文字列リテラル
  3. プロシージャの定義方法
  4. SqlServerConfigurationManager
  5. 集合関数(集計関数、集約関数)
  6. データ型一覧
  1. Microsoft SQL Server Management Studio(SSMS)

データベースオブジェクトの種類

データベースオブジェクト
オブジェクト列情報の有無
テーブルTABLEあり
インデックスINDEXなし
ビューVIEWあり
プロシージャPROCDUREなし
ファンクションFUNCTIONなし
トリガーTRIGGERなし
シーケンスSEQUENCE類似列を持つ
シノニムSYNONYM参照先

文字列リテラル

構文

SQL(Structured Query Language)

DDL(Data Definition Language)データ定義言語

DML(Data Manipulation Language)データ操作言語

クエリ説明補足
select name from sys.databasesデータベース一覧を表示
select name from sys.tablesテーブルの一覧を表示
CREATE DATABASE データベース名データベースの作成
USE データベース名データベースの選択
DROP DATABASE データベース名データベースの削除
CREATE TABLE テーブル名(列名1 型名1 制約名...,列名2 型名2,列名3 型名3,…) 又は CREATE TABLE テーブル名 VALUES(列名1 型名1,列名2 型名2,列名3 型名3,…) テーブルを作成する
DROP TABLE テーブル名テーブルを削除する
CREATE VIEW ビュー名 [(列名1,列名2,…)] AS SELECT文ビューを作成する
DROP VIEW ビュー名ビューを削除する
SELECT [ALL | DISTINCT|TOP n] 選択リストFROM 表リスト[WHERE 抽出条件または結合条件][GROUP BY 列名リスト][HAVING グループ抽出条件][ORDER BY 列名[ASC | DESC],・・・]テーブルを表示する
INSERT INTO テーブル名 VALUES(値1,値2,値3,…)レコードを挿入する
INSERT INTO テーブル名(列名1,列名2,…) VALUES(値1,値2,…)レコードを挿入する
UPDATE テーブル名 SET 列名 = 値 WHERE句テーブルデータを更新
DELETE FROM テーブル名 WHERE句テーブルを削除する
ALTER TABLE テーブル名 ADD 列名 型名列の追加
ALTER TABLE テーブル名 DROP COLUMN 列名列の削除
ALTER TABLE テーブル名 ALTER COLUMN 列名 型名列のデータ型変更
N'値'日本語を入力する
BULK Insert テーブル名
FROM 'C:\ファイル名.csv'
WITH
(
  FIRSTROW = 2,
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n',
  TABLOCK
)
CSVのインポート
カラムの制約一覧
制約名記述説明
NOT NULL制約末尾に NOT NULLまたはNULLNULLを許容または許容しない。
CHECK制約末尾にCHECK(条件式...)条件式が偽となる場合は値が入力されない
UNIQUE制約末尾にUNIQUE列の値が重複できないようにする
PRIMARY KEY制約末尾にNOT NULL PRIMARY KEYユニークである必要がある。テーブルに一つだけNULLを許容しない必要がある。主キーとして定義する
外部参照整合制約レコードに末尾に REFERENCES テーブル名(カラム名)
テーブル制約 FOREIGN KEY(カラム名) REFERENCES テーブル名(カラム名)
外部参照によるリレーションシップのための参照を行うことを定義する。
トップへ戻る

プロシージャの定義方法

変数の定義

DECLARE @変数名 変数型, @変数名2 変数型,...
SELECT @変数名 = 値
SET @変数名 = 値

カーソル

カーソルはSelectでテーブルを呼び出し、それを定義しておくことができる。FETCHによって一行ずつ操作ができる

・定義方法
DECLARE カーソル名 CURSOR FOR SELECT文

トップへ戻る

SqlServerConfigurationManager

SQLのサービス

SqlServerConfigurationManagerを開き、左メニューの「SQL Serverのサービス」を開くと「SQL Server(MSSQLSERVER)」とある、これがインスタンスのサービスとなる。
※()内にはSQLのインスタンス名が表示されるため任意の名前のものを選択する。

ネットワークライブラリ

SqlServerConfigurationManagerを開き、左メニューの「SQL Serverネットワークの構成」→「MSSQLSERVERのプロトコル」を選択する。

名称説明
共有メモリローカルのSQLインスタンスにのみ接続可能
名前付きパイプLAN用のプロトコル
TCP/IPインターネットで広く使われている。ネットワークトラフィックのルーティング、高度なセキュリティ機能を利用できる
VIAVIAをサポートするハードウェアで動作する

トップへ戻る

集合関数

記憶が定かではないため、これがSQLServerのものか不明

集合関数
No.種類関数名説明
1文字列RIGHTある文字列の右端から、指定した文字数分だけ取得する
2LEFTある文字列の左端から、指定した文字数分だけ取得する
3RTRIMある文字列の右端から空白を取り除く
4LTRIMある文字列の左端から空白を取り除く
5REPLACEある文字列の中で、特定の文字列を別の文字列に置換する
6SUBSTRINGある文字列の中で、特定の位置から指定した文字数分だけ取得する
7UPPERある文字列を大文字に変換する
8LOWERある文字列を小文字に変換する
9LENある文字列の文字数を取得する
10日付・時刻GETDATEシステム日付(SQL Serverがインストールされたマシンの日付)を取得する
SYSDATETIMEGETDATEはDATETIME型、SYSDATETIMEはDATETIME2型
11YEARある日付の年の部分だけ取得する
12MONTHある日付の月の部分だけ取得する
13DAYある日付の日の部分だけ取得する
14DATEPARTある日付の一部だけを取得する
15DATEADD日付を加算したり減算したりする
16DATEDIFF2つの日付の差を求める
17変換CASTデータ型を変換する
18CONVERTデータ型を変換する
19数値ROUND四捨五入する
20POWER階乗を求める
21RAND0から1までの範囲のランダムな数字を求める
22CEILING小数点以下を切り上げる
23FLOOR小数点以下を切り捨てる
24SQRT平方根を求める

トップへ戻る

データ型一覧

種別データ型説明サイズ(バイト)
整数型tinyint0 ~ 255 の範囲の数値1
smallintおおよそ -3万 ~ 3万の範囲の数値2
intおおよそ -20億 ~ 20億の範囲の数値4
bigintおおよそ -900京 ~ 900京の範囲の数値8
小数(真数型)decimal(p, s)p:全体桁数 s:小数点以下桁数5 ~ 17
numeric(p, s)固定長の有効桁数と小数点以下桁数を持つため誤差は発生しない(10進数)
小数(概数型)float(n)n:仮数のビット数 浮動小数点数4 ~ 8
real浮動小数点数4
文字列char(n)固定長文字列(8000バイトまで)n
varchar(n)可変長文字列(8000バイトまで)実際のバイト数 + 2
varchar(max)可変長文字列(2GBまで)
text
Unicode文字列nchar(n)Unicode固定長文字列(8000バイトまで)2n
nvarchar(n)Unicode可変長文字列(8000バイトまで)(実際のバイト数) * 2 + 2
nvarchar(max)Unicode可変長文字列(2GBまで)
ntext
日付smalldatetime精度:1分4
datetime精度:3.33ミリ秒8
date精度:1日3
time1日の時刻のみを格納し、精度は100ナノ秒3~ 5
datetime2精度:100ナノ秒6 ~8
datetimeoffset精度:100ナノ秒 タイムゾーン付き8 ~10
金額・通貨smallmoney金額や通貨を表す(範囲狭)4
money金額や通貨を表す(範囲広)8
バイナリbinary(n)固定長バイナリデータ(8000バイトまで)n
varbinary(n)可変長バイナリデータ(8000バイトまで)実際のバイト数 + 2
varvinary(max)可変長バイナリデータ(2GBまで)
image
その他bit1, 0, NULL のどれか1
tableSELECT文実行結果のテーブルを格納可能実際のデータ量
XMLXMLデータを格納可能
uniqueidentifier16バイトのGUID(グローバルユニークID)16
timestampテーブルのデータが更新される度に加算されるカウンタ(行バージョンを格納)8
(rowversion)
sql_variant複数のデータ型を格納可能実際のバイト数

トップへ戻る