学习
#导入数据库驱动
import sqlite3
#连接到数据库
#数据库文件是“test.db”
#如果数据库不存在的话,将会自动创建一个 数据库
conn = sqlite3.connect("test.db")
#创建一个游标 curson
cursor = conn.cursor()
# 执行一条语句,创建 user表
sql = "create table large_db (word varchar(30), db varchar(30))"
cursor.execute(sql)
#插入一条记录
#sql = "insert into login (name, password) values (\'love\', \'520520')"
#cursor.execute(sql)
#查询一条记录:
# sql = "select * from login"
# cursor.execute(sql)
# sql = "select * from login where id=?"
# cursor.execute(sql, ("2",))
# 通过rowcount获得插入的行数:
# cursor.rowcount()
#获取查询结果:
# values = cursor.fetchall()
# print(values)
#关闭游标:
cursor.close()
#提交事物
conn.commit()
#关闭连接
conn.close()
案例
# python 获取sqlite3数据库mydb.db中的表名和表字段名
import sqlite3
conn = sqlite3.connect('mydb.db')
cu = conn.cursor()
# 获取表名,保存在tab_name列表
cu.execute("select name from sqlite_master where type='table'")
tab_name = cu.fetchall()
tab_name = [line[0] for line in tab_name]
# 获取表的列名(字段名),保存在col_names列表,每个表的字段名集为一个元组
# col_names = []
# for line in tab_name:
# cu.execute('pragma table_info({})'.format(line))
# col_name = cu.fetchall()
# col_name = [x[1] for x in col_name]
# col_names.append(col_name)
# col_name = tuple(col_name)
# 之所以保存为元组,一是可避免误操作修改字段名,二是元组巧用转化字符串,可
# 直接用于SQL的insert语句中。例如下面代码可得到第一个表的带括号字段名集合:
'''
sql_col_name=str(col_names[0]).replace('\'','')
'''