about summary refs log tree commit diff stats
path: root/reproducers
diff options
context:
space:
mode:
Diffstat (limited to 'reproducers')
-rw-r--r--reproducers/sqlite.basic.sql50
1 files changed, 50 insertions, 0 deletions
diff --git a/reproducers/sqlite.basic.sql b/reproducers/sqlite.basic.sql
new file mode 100644
index 0000000..86c2b8c
--- /dev/null
+++ b/reproducers/sqlite.basic.sql
@@ -0,0 +1,50 @@
+-- Create a new table
+CREATE TABLE users (
+  id INTEGER PRIMARY KEY,
+  name TEXT NOT NULL,
+  age INTEGER,
+  email TEXT UNIQUE
+);
+
+-- Insert some rows
+INSERT INTO users (name, age, email)
+VALUES
+  ('Alice', 30, 'alice@example.com'),
+  ('Bob', 25, 'bob@example.com'),
+  ('Charlie', 35, 'charlie@example.com');
+
+-- Query all rows
+SELECT * FROM users;
+
+-- Filter results
+SELECT name, age FROM users WHERE age > 28;
+
+-- Update a row
+UPDATE users SET age = 31 WHERE name = 'Alice';
+
+-- Delete a row
+DELETE FROM users WHERE name = 'Bob';
+
+-- Add a new column
+ALTER TABLE users ADD COLUMN city TEXT;
+
+-- Update new column values
+UPDATE users SET city = 'Berlin' WHERE name = 'Alice';
+UPDATE users SET city = 'Paris' WHERE name = 'Charlie';
+
+-- Aggregate query
+SELECT city, COUNT(*) AS user_count FROM users GROUP BY city;
+
+-- Create an index for faster lookups
+CREATE INDEX idx_users_email ON users(email);
+
+-- Show table schema
+.schema users;
+
+-- Export query results to CSV (in sqlite3 CLI)
+.headers on
+.mode csv
+.output users.csv
+SELECT * FROM users;
+.output stdout
+