【SQL Server】よく使う構文

SQL ServerSQL構文です。
使わないとすっかり忘れてしまうので、備忘録的に基本的な構文から掲載します。

バージョンとエディションの確認
SELECT @@VERSION;


登録
INSERT INTO テーブル名 (カラム名をカンマ区切りで列挙) VALUES (挿入する値をカンマ区切りで列挙);


更新
UPDATE テーブル名 SET カラム名1 = 更新値, カラム名2 = 更新値 WHERE 条件式


削除

3パターンあり。

▼DELETE

DELETE FROM テーブル名 WHERE 条件式;
  • テーブル内のデータを削除。条件指定すれば任意のデータのみ削除可能。
  • コミットしなければロールバック可能。

▼TRUNCATE

TRUNCATE TABLE テーブル名;
  • テーブル内の全データを削除。条件指定は不可。
  • 内部処理で「テーブルごと削除してから再作成」となる為、DELETEより高速。
  • ロールバック不可。

DROP

DROP TABLE テーブル名;
テーブルをデータごとコピー
SELECT * INTO コピー先のテーブル名 FROM コピー元のテーブル名 WITH(NOLOCK)


テーブル間の特定カラムをコピー
UPDATE コピー先のテーブル名
SET コピー先のテーブル名.対象カラム = コピー元のテーブル名.対象カラム
FROM コピー元のテーブル名
WHERE コピー先のテーブル名.キーカラム = コピー元のテーブル名.キーカラム


カラム追加
$ ALTER TABLE テーブル名 ADD カラム名 型


カラム定義変更
$ ALTER TABLE テーブル名 ALTER COLUMN カラム名 型


カラム名変更(SQL Server 2005 以降)

(例)ABC テーブルにある NAME 列を、USER_NAME に変更。

$ EXEC sp_rename 'ABC.NAME', 'USER_NAME', 'COLUMN';


カラム削除
$ ALTER TABLE テーブル名 DROP COLUMN カラム名


制約付カラム削除
$ ALTER TABLE テーブル名 DROP CONSTRAINT 制約名, COLUMN カラム名