sql,source 文件路径;,
“
外部程序读写SQLite
SQLite是一种嵌入式数据库,它被许多应用程序用作轻量级的数据库,对于一些需要更复杂查询或更高性能的应用,可能需要使用外部程序来读写SQLite数据库,以下是一些基本的步骤和示例代码。
1. 安装SQLite C库
你需要在你的系统上安装SQLite的C库,在Ubuntu上,你可以使用以下命令:
sudo aptget install libsqlite3dev
2. 打开数据库
使用sqlite3_open
函数打开一个数据库,这个函数返回一个指向数据库对象的指针。
#include <sqlite3.h>
sqlite3 *db;
int rc = sqlite3_open("test.db", &db);
if (rc) {
fprintf(stderr, "Can't open database: %sn", sqlite3_errmsg(db));
return(0);
} else {
fprintf(stderr, "Opened database successfullyn");
}
3. 执行SQL语句
使用sqlite3_exec
函数执行SQL语句,这个函数接受一个数据库对象、一个SQL语句和一个回调函数作为参数。
char *sql = "CREATE TABLE COMPANY("
"ID INT PRIMARY KEY NOT NULL,"
"NAME TEXT NOT NULL,"
"AGE INT NOT NULL,"
"ADDRESS CHAR(50),"
"SALARY REAL );";
char *errMsg = 0;
rc = sqlite3_exec(db, sql, callback, (void*)data, &errMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %sn", errMsg);
sqlite3_free(errMsg);
} else {
fprintf(stdout, "Table created successfullyn");
}
4. 关闭数据库
使用sqlite3_close
函数关闭数据库。
sqlite3_close(db);
相关问题与解答
问题1:如何在Python中使用SQLite?
答:在Python中,可以使用sqlite3模块来操作SQLite数据库,以下是一个简单的例子:
import sqlite3
conn = sqlite3.connect('test.db')
print("Opened database successfully")
conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL );''')
print("Table created successfully")
conn.close()
问题2:如何将数据从SQLite数据库导出到CSV文件?
答:可以使用Python的csv模块和sqlite3模块来实现这个功能,以下是一个简单的例子:
import sqlite3
import csv
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM COMPANY")
rows = cursor.fetchall()
with open('output.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow([i[0] for i in cursor.description]) # write headers
writer.writerows(rows)
conn.close()