Ⅰ python sqlite3 怎么处理
要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;
连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。
Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。
#导入SQLite驱动:
>>>importsqlite3
#连接到SQLite数据库
#数据库文件是test.db
#如果文件不存在,会自动在当前目录创建:
>>>conn=sqlite3.connect('test.db')
#创建一个Cursor:
>>>cursor=conn.cursor()
#执行一条SQL语句,创建user表:
>>>cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
<sqlite3.Cursorobjectat0x10f8aa260>
#继续执行一条SQL语句,插入一条记录:
>>>cursor.execute('insertintouser(id,name)values('1','Michael')')
<sqlite3.Cursorobjectat0x10f8aa260>
#通过rowcount获得插入的行数:
>>>cursor.rowcount
1
#关闭Cursor:
>>>cursor.close()
#提交事务:
>>>conn.commit()
#关闭Connection:
>>>conn.close()
推荐学习资料:http://www.liaoxuefeng.com/wiki//
Ⅱ 在python上怎么使用sql
第一种办法:
#导入SQLite驱动:
>>>importsqlite3
#连接到SQLite数据库
#数据库文件是test.db
#如果文件不存在,会自动在当前目录创建:
>>>conn=sqlite3.connect('test.db')
#创建一个Cursor:
>>>cursor=conn.cursor()
#执行一条SQL语句,创建user表:
>>>cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
<sqlite3.Cursorobjectat0x10f8aa260>
#继续执行一条SQL语句,插入一条记录:
>>>cursor.execute('insertintouser(id,name)values('1','Michael')')
<sqlite3.Cursorobjectat0x10f8aa260>
#通过rowcount获得插入的行数:
>>>cursor.rowcount
1
#关闭Cursor:
>>>cursor.close()
#提交事务:
>>>conn.commit()
#关闭Connection:
>>>conn.close()
第二种办法:
使用 SQLalchemy 等ORM 的库。
Ⅲ Python中SQLite支持数据库远程访问吗
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite,SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
Ⅳ python pyqt5 操作sqlite
'''
【简介】
PyQt5中 处理database 例子
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtSql import QSqlDatabase , QSqlQuery
def createDB():
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('./db/database.db')
if name == ' main ':
app = QApplication(sys.argv)
createDB()
sys.exit(app.exec_())
'''
【简介】
PyQt5中 处理database 例子
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
from PyQt5.QtCore import Qt
def initializeModel(model):
model.setTable('people')
model.setEditStrategy(QSqlTableModel.OnFieldChange)
model.select()
model.setHeaderData(0, Qt.Horizontal, "ID")
model.setHeaderData(1, Qt.Horizontal, "name")
model.setHeaderData(2, Qt.Horizontal, "address")
def createView(title, model):
view = QTableView()
view.setModel(model)
view.setWindowTitle(title)
return view
def addrow():
ret = model.insertRows(model.rowCount(), 1)
print('insertRows=%s' % str(ret))
def findrow(i):
delrow = i.row()
print('del row=%s' % str(delrow))
if name == ' main ':
app = QApplication(sys.argv)
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('./db/database.db')
model = QSqlTableModel()
delrow = -1
initializeModel(model)
view1 = createView("Table Model (View 1)", model)
view1.clicked.connect(findrow)
Ⅳ 问一下 使用Python怎么去拿到Sqlite数据库的字段名
sqlite3数据库里表的信息存储在了一个名为sqlite_master的表中
因此可以通过这条语句来查看数据库中所有表的名称
SELECT name FROM sqlite_master WHERE type='table';
下面是Python的用法
1
2
3
4
con = sqlite3.connect('database.db')
cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(cursor.fetchall())
Ⅵ python中使用SQlite3问题
importsqlite3
conn=sqltie3.connect(database='dbfile.db')
curr=conn.cursor()
defgetstudent(studentid):
curr=conn.cursor()
curr.execute("SELECT*FROMtb_studentWHEREid=?",(studentid,))
returncurr.fetchall()
...
Ⅶ Python 使用sqlite时 怎么将拿到的数据 比如说在其他程序中拿到的list数据包 插入到sqlite中
cursor.executemany("REPLACE INTO MD(INS, DAY, MIN, DATA) values(?, ?, ?, ?)", data)
conn.commit()
这是我程序的片断
Data是一个list每个值是一个
d = (ins, day, tp, md)
data.append(d)
这样就可以把list的数据一次性写入了
Ⅷ python使用SQlite3时,如何把一个变量的值更新入数据库
cursor.execute("UPDATEotherseteng={value}whereID=1".format(value=a))
Ⅸ python连接sqlite数据库路径是怎么使用
比如你的数据库文件在同级目录下 你就直接这样:
sqlite3.connect('database.db');
上级目录 这样:
sqlite3.connect('../database.db');
Ⅹ python sqlite 事务
python自带的sqlite3模块遵循的是python的DB-API标准见
http://www.python.org/dev/peps/pep-0249/
import sqlite3
conn = sqlite3.connect('c:\\test.db3')
cur = conn.cursor()
#事务开始
cur.execute("insert ...")
cur.execute("insert ...")
#事务提交
conn.commit()
#事务2开始
cur.execute("insert ...")
#事务2提交
conn.commit()
#连接关闭
conn.close()
插入大量数据集体使用insert语句最后集中提交,应该就是sqlite的比较快的方式了,可能使用内存表,再attach,可能会快点,不过我没试过,估计不会快很多
sqlite比较是个小型数据库,
如果有大量的数据,不如使用mysql
如果有巨量数据,建议postgresql