首页 > 数据库技术 > 详细

Python+PyQt 数据库基本操作

时间:2014-11-20 20:03:46      阅读:389      评论:0      收藏:0      [点我收藏+]

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:

 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,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

 

Python+PyQt 数据库基本操作

原文:http://www.cnblogs.com/yzzw006/p/4111144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!