ユーザ用ツール

サイト用ツール


powershell:sqlite

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
powershell:sqlite [2025/08/23 01:27] mikotopowershell:sqlite [2025/09/23 21:32] (現在) mikoto
行 1: 行 1:
-====== PowershellでSQLiteを使う ======+====== SQLiteでデータベース作成する ======
 [[:powershell|一つ上へ]] [[:powershell|一つ上へ]]
  
-===== Tips =====+ 
 +データベースの作成時、更新、削除時にはExecuteNonQuery()を使用し、 
 +読み出しの際はExecuteReader()を使用する。 
 <code powershell> <code powershell>
 # sqlite3.dll を読み込む # sqlite3.dll を読み込む
-Add-Type -Path ".\System.Data.SQLite.dll"+$workPath = "path/to/dir" 
 +Add-Type -Path "$workPath\System.Data.SQLite.dll"
  
-# DBの接続文字列 + 
-$dbFile = ".\test.db"+# DBのファイルパス(無ければ新規作成) 
 +$dbFile = "$workPath\test2.db"
 $connectionString = "Data Source=$dbFile;Version=3;" $connectionString = "Data Source=$dbFile;Version=3;"
 +
 +if (-not (Test-Path $dbFile)) {
 +    [System.Data.SQLite.SQLiteConnection]::CreateFile($dbFile)
 +}
  
 # SQLite 接続オブジェクトを作成 # SQLite 接続オブジェクトを作成
-$connection = New-Object System.Data.SQLite.SQLiteConnection($connectionString) +$conn = New-Object System.Data.SQLite.SQLiteConnection($connectionString) 
-$connection.Open()+$conn.Open() 
 + 
 +# コマンドオブジェクト 
 +$cmd = $conn.CreateCommand()
  
 # テーブル作成 # テーブル作成
-$createTableSql = @"+$cmd.CommandText = @"
 CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS users (
-  id INTEGER PRIMARY KEY AUTOINCREMENT, +    id     INTEGER PRIMARY KEY AUTOINCREMENT, 
-  name TEXT NOT NULL, +    name   TEXT NOT NULL, 
-  email TEXT+    age    INTEGER NOT NULL, 
 +    email  TEXT
 ); );
 "@ "@
 +$cmd.ExecuteNonQuery()
 +
 +Write-Host "テーブル 'users' を作成しました。"
 +
 +# サンプルデータを挿入
 +$cmd.CommandText = "INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');"
 +$cmd.ExecuteNonQuery()
 +
 +$cmd.CommandText = "INSERT INTO users (name, age, email) VALUES ('Bob', 25, 'bob@example.com');"
 +$cmd.ExecuteNonQuery()
 +
 +Write-Host "サンプルデータを挿入しました。"
 +
 +# データを読み出し
 +$cmd.CommandText = "SELECT * FROM users;"
 +$reader = $cmd.ExecuteReader()
  
-$command = $connection.CreateCommand() +Write-Host "登録データ:" 
-$command.CommandText = $createTableSql +while ($reader.Read()) { 
-$command.ExecuteNonQuery()+    Write-Host "$($reader['id']): $($reader['name']) - $($reader['age'])歳 - $($reader['email'])" 
 +} 
 +$reader.Close()
  
-Write-Output "テーブル 'users' 作成しました"+# 接続閉じる 
 +$conn.Close()
  
-#DB 接続を閉じる 
-$connection.Close() 
  
 </code> </code>
powershell/sqlite.1755880023.txt.gz · 最終更新: 2025/08/23 01:27 by mikoto