From 151296bedc02be0855eb73be541ffdd344d410d3 Mon Sep 17 00:00:00 2001 From: AI Date: Sat, 11 Oct 2025 16:38:25 +0800 Subject: [PATCH] Format code snippets in README.md with syntax highlighting --- README.md | 134 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 79 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index f2846c8..9e1598c 100644 --- a/README.md +++ b/README.md @@ -5,101 +5,125 @@ A single file C++ header-only SQLite wrapper library ## Open database - #include - using namespace sqlitelib; - auto db = Sqlite("./test.db"); +```cpp +#include +using namespace sqlitelib; +auto db = Sqlite("./test.db"); +``` ## Create table - db.execute(R"( - CREATE TABLE IF NOT EXISTS people ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - name TEXT, - age INTEGER, - data BLOB - ) - )"); +```cpp +db.execute(R"( + CREATE TABLE IF NOT EXISTS people ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT, + age INTEGER, + data BLOB + ) +)"); +``` ## Drop table - db.execute("DROP TABLE IF EXISTS people"); +```cpp +db.execute("DROP TABLE IF EXISTS people"); +``` ## Insert records - auto stmt = db.prepare("INSERT INTO people (name, age, data) VALUES (?, ?, ?)"); - stmt.execute("john", 10, vector({ 'A', 'B', 'C', 'D' })); - stmt.execute("paul", 20, vector({ 'E', 'B', 'G', 'H' })); - stmt.execute("mark", 15, vector({ 'I', 'J', 'K', 'L' })); - stmt.execute("luke", 25, vector({ 'M', 'N', 'O', 'P' })); +```cpp +auto stmt = db.prepare("INSERT INTO people (name, age, data) VALUES (?, ?, ?)"); +stmt.execute("john", 10, vector({ 'A', 'B', 'C', 'D' })); +stmt.execute("paul", 20, vector({ 'E', 'B', 'G', 'H' })); +stmt.execute("mark", 15, vector({ 'I', 'J', 'K', 'L' })); +stmt.execute("luke", 25, vector({ 'M', 'N', 'O', 'P' })); +``` ## Select a record (single colum) - auto val = db.execute_value("SELECT age FROM people WHERE name='john'"); - val; // 10 +```cpp +auto val = db.execute_value("SELECT age FROM people WHERE name='john'"); +val; // 10 +``` ## Select records (multiple columns) - auto rows = db.execute("SELECT age, name FROM people"); - rows.size(); // 4 +```cpp +auto rows = db.execute("SELECT age, name FROM people"); +rows.size(); // 4 - auto [age, name] = rows[3]; // age: 25, name: luke +auto [age, name] = rows[3]; // age: 25, name: luke +``` ## Bind #1 - auto stmt = db.prepare("SELECT name FROM people WHERE age > ?"); +```cpp +auto stmt = db.prepare("SELECT name FROM people WHERE age > ?"); - auto rows = stmt.execute(10); - rows.size(); // 3 - rows[0]; // paul +auto rows = stmt.execute(10); +rows.size(); // 3 +rows[0]; // paul - auto rows = stmt.bind(10).execute(); - rows.size(); // 3 - rows[0]; // paul +auto rows = stmt.bind(10).execute(); +rows.size(); // 3 +rows[0]; // paul +``` ## Bind #2 - auto val = db.execute_value("SELECT id FROM people WHERE name=? AND age=?", "john", 10); - val; // 1 +```cpp +auto val = db.execute_value("SELECT id FROM people WHERE name=? AND age=?", "john", 10); +val; // 1 +``` ## Cursor (multiple columns) - auto stmt = db.prepare("SELECT name, age FROM people"); +```cpp +auto stmt = db.prepare("SELECT name, age FROM people"); - auto cursor = stmt.execute_cursor(); - for (auto it = cursor.begin(); it != cursor.end(); ++it) { - get<0>(*it); - get<1>(*it); - ++it; - } +auto cursor = stmt.execute_cursor(); +for (auto it = cursor.begin(); it != cursor.end(); ++it) { + get<0>(*it); + get<1>(*it); + ++it; +} - // With C++17 structured binding - for (const auto& [name, age] : stmt.execute_cursor()) { - ; - } +// With C++17 structured binding +for (const auto& [name, age] : stmt.execute_cursor()) { + ; +} +``` ## Cursor (single column) - auto stmt = db.prepare("SELECT name FROM people"); +```cpp +auto stmt = db.prepare("SELECT name FROM people"); - for (const auto& x: stmt.execute_cursor()) { - ; - } +for (const auto& x: stmt.execute_cursor()) { + ; +} +``` ## Count - auto val = db.execute_value("SELECT COUNT(*) FROM people"); - val; // 4 +```cpp +auto val = db.execute_value("SELECT COUNT(*) FROM people"); +val; // 4 +``` ## Flat API - for (const auto& [name, age] : - db.execute_cursor("SELECT name, age FROM people")) { - ; - } +```cpp +for (const auto& [name, age] : + db.execute_cursor("SELECT name, age FROM people")) { + ; +} - for (const auto& x: db.execute_cursor("SELECT name FROM people")) { - ; - } +for (const auto& x: db.execute_cursor("SELECT name FROM people")) { + ; +} +``` License -------