Ubuntu 24.04

SQL Server 2025 : T-SQL 基本操作2026/03/06

 

Transact-SQL (T-SQL) での SQL Server の基本的な操作方法です。

[1] データベースを作成/削除する。
root@dlp:~#
sqlcmd -C -S localhost -U SA

Password:

# [SampleDB] 作成
1> create database SampleDB; 
2> go 

# 各パラメータを指定して作成
1> create database SampleDB2 
2> on primary ( name = 'SampleDB2',
3> filename = '/var/opt/mssql/data/SampleDB2.mdf',
4> size = 5GB, maxsize = unlimited, filegrowth = 10MB )
5> log on ( name = 'SampleDB2_log',
6> filename = '/var/opt/mssql/data/SampleDB2_log.ldf',
7> size = 1GB, maxsize = 2GB, filegrowth = 5% )
8> go

# データベース一覧表示
1> select name,create_date from sys.databases;
2> go
name                       create_date
-------------------------- -----------------------
master                     2003-04-08 09:13:36.390
tempdb                     2026-03-06 00:23:07.233
model                      2003-04-08 09:13:36.390
msdb                       2026-01-29 18:40:16.640
SampleDB                   2026-03-06 01:08:33.977
SampleDB2                  2026-03-06 01:09:00.190

(6 rows affected)

# [SampleDB2] データベース削除
1> drop database SampleDB2; 
2> go 
[2] テーブルを作成/削除する。
# データベースを指定して接続

root@dlp:~#
sqlcmd -C -S localhost -U SA -d SampleDB

Password:

# [Sample_Table] 作成
1> create table dbo.Sample_Table ( 
2> Number nvarchar(10) not null, 
3> First_Name nvarchar(50) not null, 
4> Last_Name nvarchar(50) null, 
5> Last_Update date not null )
6> go 

# テーブル一覧表示
1> select name from sysobjects 
2> where xtype='u' 
3> go 
name
----------------------------------
trace_xe_action_map
trace_xe_event_map
spt_fallback_db
spt_fallback_dev
spt_fallback_usg
MSreplication_options
Sample_Table
spt_monitor

(8 rows affected)

# [Sample_Table] 削除
1> drop table dbo.Sample_Table; 
2> go 
[3] データを挿入/更新/削除する。
root@dlp:~#
sqlcmd -C -S localhost -U SA -d SampleDB

Password:

# データ挿入
1> insert into dbo.Sample_Table ( Number, First_Name, Last_Name, Last_Update )
2> values ( '00001', 'Ubuntu', 'Linux', '2026-03-06' ),
3> ( '00002', 'Debian', 'Linux', '2026-03-06' ),
4> ( '00003', 'RedHat', 'Linux', '2026-03-06' )
5> go 

(3 rows affected)

1> select * from dbo.Sample_Table; 
2> go 
Number     First_Name          Last_Name     Last_Update    
---------- ------------------- ------------- ----------------
00001      Ubuntu              Linux               2026-03-06
00002      Debian              Linux               2026-03-06
00003      RedHat              Linux               2026-03-06

(3 rows affected)

# 列を指定して表示
1> select Number, First_Name from dbo.Sample_Table; 
2> go 
Number     First_Name
---------- --------------------------------------------------
00001      Ubuntu
00002      Debian
00003      RedHat

(3 rows affected)

# 上位 2 件表示
1> select top 2 * from dbo.Sample_Table; 
2> go 
Number     First_Name          Last_Name     Last_Update    
---------- ------------------- ------------- ----------------
00001      Ubuntu              Linux               2026-03-06
00002      Debian              Linux               2026-03-06

(2 rows affected)

# データ更新
1> update dbo.Sample_Table set Last_Update = '2026-03-07' where First_Name = 'Ubuntu' 
2> go 

(1 rows affected)

1> select * from dbo.Sample_Table where First_Name ='Ubuntu'; 
2> go 
Number     First_Name         Last_Name     Last_Update    
---------- ------------------ ------------- ----------------
00001      Ubuntu             Linux               2026-03-07

(1 rows affected)

# データ削除
1> delete dbo.Sample_Table where First_Name ='Ubuntu'; 
2> go 

(1 rows affected)
1> select * from dbo.Sample_Table where First_Name ='Ubuntu'; 
2> go 
Number     First_Name    Last_Name     Last_Update
---------- ------------- ------------- ----------------

(0 rows affected)
[4] コマンドラインから直接 T-SQL 文を投入することもできます。
root@dlp:~#
sqlcmd -C -S localhost -U SA -Q 'select name,create_date from sys.databases'

Password:
name                    create_date
----------------------- -----------------------
master                  2003-04-08 09:13:36.390
tempdb                  2026-03-06 00:23:07.233
model                   2003-04-08 09:13:36.390
msdb                    2026-01-29 18:40:16.640
SampleDB                2026-03-06 01:08:33.977
SampleDB2               2026-03-06 01:09:00.190

(6 rows affected)
関連コンテンツ