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) |
| Sponsored Link |
|
|