Python3教程:数据库模块(sqlite3,SQLite3)的运用

Posted Python热爱者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3教程:数据库模块(sqlite3,SQLite3)的运用相关的知识,希望对你有一定的参考价值。

一、sqlite命令

创建数据库:在控制台sqlite3 name

.databases                 查看数据库
.tables           查看表格名
databaseName .dump > dumpName    将数据库存在文本文件dumpName中,恢复就用databaseName < dumpName;
attach database one as other 将两个数据库绑定在一起;
detach database name 分离数据库;
.schema tableName 查看表格详情;
create table name; 创建表;
drop table name; 删除表;

二、python3中的sqlite3模块

  • sqlite3.connect(database [,timeout ,other optional arguments]) 打开数据库;如果指数据库存在则返回一个连接对象,如果不存在则会创建一个数据库;
  • connection.cursor()创建一个cursor;
  • cursor.execute(sql) 执行一个sql语句,该语句可以被参数化;
  • connection.execute(sql) 该例程是上面执行的由光标(cursor)对象提供的方法的快捷方式,它通过调用光标(cursor)方法创建了一个中间的光标对象,然后通过给定的参数调用光标的 execute 方法。
  • cursor.executemany(sql,seq_of_parameters) 对​​seq_of_parameters​​ 中的所有参数或映射执行一个 SQL 命令connection.executemany(sql,seq_of_parameters) 快捷方式;
  • cursor.executescript(sql_script) 该例程一旦接收到脚本,会执行多个 SQL 语句。它首先执行 COMMIT 语句,然后执行作为参数传入的 SQL 脚本。所有的 SQL 语句应该用分号(;)分隔
  • connection.executescript(sql_script) 快捷方式;
  • connection.total_changes() 返回自数据库连接打开以来被修改、插入或删除的数据库总行数;
  • connection.commit() 交当前的事务。如果您未调用该方法,那么自您上一次调用 commit() 以来所做的任何动作对其他数据库连接来说是不可见的。
  • connection.rollback() 回滚自上一次调用commit()以来对数据库所做的更改;
  • connection.close() 关闭数据库连接。请注意,这不会自动调用 commit()。如果您之前未调用 commit() 方法,就直接关闭数据库连接,您所做的所有更改将全部丢失!
  • conncction.fetchmany([size=cursor.arraysize[) 该方法获取查询结果集中的下一行组,返回一个列表。当没有更多的可用的行时,则返回一个空的列表。该方法尝试获取由 size 参数指定的尽可能多的行。
  • cursor.fetchall() 该例程获取查询结果集中所有(剩余)的行,返回一个列表。当没有可用的行时,则返回一个空的列表。

补充:连接mysql数据库需用MySQLdb模块来连接;Access数据库用DAO或ADO模块进行连接

以上是关于Python3教程:数据库模块(sqlite3,SQLite3)的运用的主要内容,如果未能解决你的问题,请参考以下文章

python3教程:jsonpickle和sqlite3持久化存储字典对象

python3教程:jsonpickle和sqlite3持久化存储字典对象

如何使用带有 Python 3.7 的 sqlite3 python 模块的 FTS5 扩展?

FreeBSD中Python3使用pip,scrapy,sqlite3问题

python3.4 "ImportError: No module named '_sqlite3'"

Python 3.6.0的sqlite3模块无法执行VACUUM语句