標籤:style blog io ar color os 使用 sp 資料
Sqlite:
使用Python的sqlite3:
需要注意下commit方式與qt稍有不同
import sqlite3class DBManager(): def __init__(self): self.db = sqlite3.connect("core.db") self.query = self.db.cursor() ... self._initTable() ... ## Create table["webpower"] if not exists def _initTable(self): self.query.execute("create table if not exists webpower (id integer primary key,name TEXT,state integer)") self.db.commit() ...
使用QtSql:
1 from PyQt4.QtSql import QSqlQuery,QSqlDatabase 2 3 class DBManager(): 4 def __init__(self): 5 self.db = QSqlDatabase.addDatabase("QSQLITE") #select database type 6 self.db.setDatabaseName("core.db") # set database name 7 self.db.open() #connect to or create database 8 self.query = QSqlQuery() #sql handler 9 ... 10 11 ...
Mysql:
from PyQt4.QtSql import QSqlQuery,QSqlDatabaseclass DBManager(): def __init__(self): self.db = QSqlDatabase.addDatabase("QMYSQL") #select database type self.db.setHostName("localhost") #set address self.db.setUserName("root"); #set user name self.db.setPassword("root"); #set user pwd self._trytoConnect() #check connection self.query = QSqlQuery() ## create database self.query.exec_("CREATE DATABASE test1") ## Choose database self.db.setDatabaseName("test1") self._trytoConnect() #also can be :self.query.exec_("USE test1") ## Connect and check connection state def _trytoConnect(self): if (self.db.open()): print "Success" else: print "Failed to connect to mysql" ...
常用SQL:
--create tablecreate table if not exists test2 (id integer primary key,time real,powers real);--clear tabledelete from test2;--insertinsert into t1 values(1,0.1,0.2);--selectselect * from test1--delete tabledrop table test4
Python+PyQt 資料庫基本操作