【SQL Server】よく使う構文
SQL ServerのSQL構文です。
使わないとすっかり忘れてしまうので、備忘録的に基本的な構文から掲載します。
- バージョンとエディションの確認
- 登録
- 更新
- 削除
- テーブルをデータごとコピー
- テーブル間の特定カラムをコピー
- カラム追加
- カラム定義変更
- カラム名変更(SQL Server 2005 以降)
- カラム削除
- 制約付カラム削除
バージョンとエディションの確認
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 カラム名