python连接sqlite(mysql)数据库以及sqlite数据库基础操作
在flask网页框架实践的博客中,使用过sqlite数据库来记录用户输入数据,所以这里单独拿出来简单讲解python连接sqlite数据库的用法,主要包括连接,查询等操作。sqlite是轻量型关系数据库,用法较为简单。mysql数据属于关系型数据库,用法与sqlite类似。关于python连接mysql数据库的知识可以参考https://www.cnblogs.com/fnng/p/6863616.html
用法示例:
sqlite数据库下载安装:
http://www.sqlite.org/index.html,下载安装即可。
基本操作如下所示:
sqlite数据库命令行操作总结
sqlite3 dbname #创建数据库
create table <table_name> (field1 type1, field2 type2,…); #建表语句。
.table #查看表格
.open dbname #若未创建数据,可以创建数据库,若己创建则打开。
.databases #显示当前打开的数据库文件
.tables #查看当前数据库下所有的表。
.schema [tbname] #查看表结构(主要看列信息)。
.exit #退出交互模式
DROP TABLE user #删除表格
insert into <table_name> values (value1, value2,…); #向表中添加新记录
select filed1,field2··· from <table_name>; #查询表中某些字段的记录。
select * from <table_name>; #查询表中所有字段的记录。
.header on #显示字段名称。
.mode column #以列模式显示字段的记录。默认是list模式
更多关于命令行操作数据库的知识参考http://blog.csdn.net/linux_wgl/article/details/51620343
python创建数据库
主要函数:
cursor()方法创建数据库游标。
execute()方法执行SQL语句。
commit()将数据库的操作真正的提交到数据。
fetchone() 用于查询单条数据。
fetchall() 用于查询多条数据。
close() 最后不要忘记了关闭数据连接。
import sqlite3
conn = sqlite3.connect('test.db') #连接数据库
curs = conn.cursor() #创建游标
curs.execute(''' #执行SQL语句
CREATE TABLE user(
id TEXT PRIMARY KEY,
name TEXT,
phone TEXT,
location TEXT,
)
''')
query = 'INSERT INTO test VALUES (?,?,?,?)'
for line in open(test.txt):
fields = line.split(',')
vals = [f for f in fields[:field_count]]
curs.execute(query, vals)
#文件名为test.txt,文件格式为xxx,xxx,xxx,xxx
conn.commit() #将数据库的操作真正的提交到数据
conn.close()
python查询数据库
import sqlite3, sys
conn = sqlite3.connect('test.db') #连接数据库
curs = conn.cursor() #创建游标
query = 'SELECT * FROM test WHERE %s' % sys.argv[1]
print query
curs.execute(query) #执行SQL语句
names = [f[0] for f in curs.description]
for row in curs.fetchall(): #查询多条数据
for pair in zip(names, row):
print '%s: %s' % pair
print
更多关于sqlite的可参考:http://www.runoob.com/sqlite/sqlite-python.html
更多可参考python基础教程python连接数据库SQLite和PySQLite一章。