您的位置:首页 > 编程语言 > Python开发

Python+PyQt 数据库基本操作

2014-11-20 18:07 239 查看
Sqlite:

使用Python的sqlite3:

需要注意下commit方式与qt稍有不同

import sqlite3

class 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:

from PyQt4.QtSql import QSqlQuery,QSqlDatabase

class DBManager():
def __init__(self):
self.db = QSqlDatabase.addDatabase("QSQLITE") #select database type
self.db.setDatabaseName("core.db") # set database name
self.db.open()  #connect to or create database
self.query = QSqlQuery() #sql handler
...

...


Mysql:

from PyQt4.QtSql import QSqlQuery,QSqlDatabase

class 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 table
create table if not exists test2 (id integer primary key,time real,powers real);

--clear table
delete from test2;

--insert
insert into t1 values(1,0.1,0.2);

--select
select * from test1

--delete table
drop table test4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: