関連記事
https://devlights.hatenablog.com/entry/2023/05/08/073000
https://devlights.hatenablog.com/entry/2023/05/09/073000
概要
以下、自分用のメモです。最近よく忘れることが多いのでここにメモメモ。。。
SQLite3を使うときに、やりたいときにやり方を忘れてしまっているトップ1が私の場合 ダンプするやり方 です。
なので、ここにメモメモ。。。
$ sqlite3 my.db .dump > dump.sql
前回、前々回で使っているデータベースだと以下のように出力されます。
PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE Departments ( DepartmentID INTEGER PRIMARY KEY, DepartmentName TEXT NOT NULL ); INSERT INTO Departments VALUES(1,'IT'); INSERT INTO Departments VALUES(2,'HR'); INSERT INTO Departments VALUES(3,'Finance'); CREATE TABLE Employees ( EmployeeID INTEGER PRIMARY KEY, FirstName TEXT NOT NULL, LastName TEXT NOT NULL, DepartmentID INTEGER REFERENCES Departments(DepartmentID), HireDate TEXT NOT NULL ); INSERT INTO Employees VALUES(1,'Taro','Yamada',1,'2020-01-01'); INSERT INTO Employees VALUES(2,'Hanako','Suzuki',1,'2020-01-15'); INSERT INTO Employees VALUES(3,'Ichiro','Tanaka',2,'2020-02-01'); INSERT INTO Employees VALUES(4,'Yoko','Watanabe',3,'2020-02-15'); CREATE TABLE Projects ( ProjectID INTEGER PRIMARY KEY, ProjectName TEXT NOT NULL, StartDate TEXT NOT NULL, EndDate TEXT, DepartmentID INTEGER REFERENCES Departments(DepartmentID) ); INSERT INTO Projects VALUES(1,'System Upgrade','2022-01-01','2022-06-30',1); INSERT INTO Projects VALUES(2,'Recruitment Campaign','2022-01-01','2022-12-31',2); INSERT INTO Projects VALUES(3,'Budget Planning','2022-04-01','2022-09-30',3); CREATE TABLE Tasks ( TaskID INTEGER PRIMARY KEY, TaskName TEXT NOT NULL, StartDate TEXT NOT NULL, EndDate TEXT, ProjectID INTEGER REFERENCES Projects(ProjectID), EmployeeID INTEGER REFERENCES Employees(EmployeeID) ); INSERT INTO Tasks VALUES(1,'Server Maintenance','2022-01-01','2022-01-15',1,1); INSERT INTO Tasks VALUES(2,'Database Migration','2022-01-15','2022-03-15',1,2); INSERT INTO Tasks VALUES(3,'Interview Scheduling','2022-02-01','2022-02-28',2,3); INSERT INTO Tasks VALUES(4,'Resume Screening','2022-01-15','2022-03-15',2,3); INSERT INTO Tasks VALUES(5,'Financial Forecast','2022-04-01','2022-05-31',3,4); INSERT INTO Tasks VALUES(6,'Expense Analysis','2022-06-01','2022-09-30',3,4); INSERT INTO Tasks VALUES(99,'TEST','2023-05-01',NULL,NULL,NULL); COMMIT;
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。