💽

Microsoft SQL ServerのSQLを5分で学ぶ。

2022/03/25に公開

概要

Microsoft SQL Serverはマイクロソフトが提供しているリレーショナルデータベースです。
MySQLやSQLiteとかには慣れているのですが、ざっくりSQLServerについて学びます。

コマンド

基本的にはSQLコマンドで動くのですが、CLIで動かす場合はgoというコマンドを入力しないとコマンドは実行されません。
MySQLで言えば、;みたいなものだと思います。

5> exec sp_databases;
6> go
DATABASE_NAME                                                                                                                    DATABASE_SIZE REMARKS                                                                                                                                                                                                                                                       
-------------------------------------------------------------------------------------------------------------------------------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                                    6592 NULL                                                                                                                                                                                                                                                          
model                                                                                                                                    16384 NULL                                                                                                                                                                                                                                                          
msdb                                                                                                                                     14272 NULL                                                                                                                                                                                                                                                          
tempdb                                                                                                                                   40960 NULL                                                                                                                                                                                                                                                          
TestDB                                                                                                                                   16384 NULL     

(いや…スペースありすぎじゃない?)

Databaseを全て表示

SELECT Name from sys.Databases
go
結果
Name                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          
tempdb                                                                                                                          
model                                                                                                                           
msdb                                                                                                                            
TestDB                                                                                                                          

Databaseを作成

CREATE DATABASE TestDB
go

Databaseを選択

use TestDB
go

Tableを作成

create table test(id int ,name nvarchar(50))
go

Tableを全て表示

select * from SYSOBJECTS where xtype="U"
go
結果
name                                                                                                                             id          xtype uid    info   status      base_schema_ver replinfo    parent_obj  crdate                  ftcatid schema_ver  stats_schema_ver type userstat sysstat indexdel refdate                 version     deltrig     instrig     updtrig     seltrig     category    cache 
-------------------------------------------------------------------------------------------------------------------------------- ----------- ----- ------ ------ ----------- --------------- ----------- ----------- ----------------------- ------- ----------- ---------------- ---- -------- ------- -------- ----------------------- ----------- ----------- ----------- ----------- ----------- ----------- ------
test                                                                                                                               581577110 U          1      0           0               0           0           0 2022-03-24 23:16:33.743       0           0                0 U           1       3        0 2022-03-24 23:16:33.743           0           0           0           0           0           0      0

データ挿入

INSERT INTO test VALUES (1, 'tarou'); 
INSERT INTO test VALUES (12, 'testzirou');
go

データ選択

select * from test
go
結果
id          name                                              
----------- --------------------------------------------------
          1 tarou                                             
         12 testzirou                                         

データ削除

delete from test where id=1
go

テーブル削除

drop table test
go

データベース削除

use msdb
drop database TestDB
go

※選択中のDatabaseは削除できないため、削除前に別のデータベースに移動してください。

Discussion