当前位置:Gxlcms > 数据库问题 > SQLite

SQLite

时间:2021-07-01 10:21:17 帮助过:14人阅读

sqlite3 def createTable(conn): sql_create = ‘‘‘ CREATE TABLE IF NOT EXISTS employees ( id INT PRIMARY KEY NOT NULL, name TEXT NOT NULL, salary REAL )‘‘‘ try: conn.execute(sql_create) return 0 except: return 1 def insert(conn, id, name, salary): sql_insert = ‘‘‘ INSERT INTO employees(id, name, salary) SELECT ?, ?, ? WHERE NOT EXISTS(SELECT * FROM employees WHERE id=?) ‘‘‘ try: conn.execute(sql_insert, (id, name, salary, id)) print "insert a line of data successfully" return 0 except: print "insert a line of data failed ! id = ", id return 1 def select(conn, id): sql_select = ‘‘‘ SELECT id, name, salary FROM employees WHERE id = ? ‘‘‘ cursor = conn.execute(sql_select, (id,)) print "select a line of data successfully" return cursor def delete(conn, id, name, salary): sql_insert = ‘‘‘ DELETE FROM employees ‘‘‘ try: conn.execute(sql_insert) print "delete data successfully" except: print "delete data failed ! " # open or create database conn = sqlite3.connect("employee.db") print "Open database successfully" if(0==createTable(conn)): print "createTabe successfully" else: print "createTabe failed" conn.close() exit(-1) delete(conn, 1, "rc", 4.0) cursor = select(conn, 1) print list(cursor) cursor = select(conn, 2) print list(cursor) insert(conn, 1, "rc", 4.0) insert(conn, 2, "mario", 0.0) insert(conn, 2, "mario-mario", 0.0) cursor = select(conn, 2) print list(cursor) print list(conn.execute("SELECT * FROM employees")) # must commit, then the data will be written to database conn.commit() print "commit successfully" conn.close() print "close database successfully"

 

C接口开发:

官方sqlite3库下载地址:https://www.sqlite.org/download.html

四个基础API:

int sqlite3_open(
  const char *filename,   /* Database filename */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);
/*
打开/创建数据库文件的API,第一个参数是文件路径及名字,第二个参数是sqlite3操作句柄。如果数据库文件不存在就创建一个,并且会返回一个数据库操作句柄,保存到第二个参数中。操作成功,返回值为SQLITE_OK.
*/

int sqlite3_exec(
  sqlite3*,                                  /* An open database */
  const char *sql,                           /* SQL to be evaluated */
  int (*callback)(void*,int,char**,char**),  /* Callback function */
  void *,                                    /* 1st argument to callback */
  char **errmsg                              /* Error msg written here */
);
/*
执行sql语句。第一个参数,打开的数据库操作句柄。第二个参数,sql语句,就是我们要执行的命令。第三个参数,回调函数。第四个参数,传入回调函数的参数。第五个参数,保存操作失败时的错误信息。操作成功,返回值为SQLITE_OK.
*/

void sqlite3_free(void *);
/*
释放申请的动态内存了,在上一个API操作中,假设出现操作失败,错误信息保存在最后一个参数中,它的内存是动态申请的,这时候就要通过这个函数释放内存了。
*/

int sqlite3_close(sqlite3 *);
/*
关闭数据库。第一个参数就是sqlite3操作句柄。一般在结束或出错时调用,用来关闭数据库。
*/

 

SQLite

标签:failed   import   就是   数据库文件   sel   bsp   blank   error   cal   

人气教程排行