Ⅰ 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