Python+PyQt 数据库基本操作

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
时间: 2024-10-09 10:02:38

Python+PyQt 数据库基本操作的相关文章

1Python全栈之路系列之MySQL数据库基本操作

Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司MySQL AB开发.运营并予以支持.它之所以非常流行,原因在于具备以下这些优点: 基于开源许可发布,无需付费即可使用. 自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件. 使用业内所熟悉的标准SQL数据库语言. 可运行于多个操作系统,支持多种语言,包括 PHP.PERL.C.C

Python学习—数据库操作

python2中操作数据库:MySQLdbpython3中操作数据库:pymysql python接连数据库 1.创建数据库连接: mysql.connect()函数 2.执行数据库操作:执行数据库操作,我们要使用连接对象获得一个cursor(游标)对象: 用连接对象的cursor()方法返回一个游标对象 接下来,我们会使用cursor提供的方法来进行工作. 这些方法包括两大类:1.执行命令,2.接收返回值 执行命令: callproc(self, procname, args):用来执行存储过

flask数据库基本操作

数据库基本操作 在Flak-SQLAlchemy中,插入.修改.删除操作,均由数据库会话管理. 会话用db.session表示.在准备把数据写入数据库前,需要先将数据添加到会话中然后调用commit()方法提交会话. 在Flask-SQLAlchemy中,查询操作是通过query对象操作数据. 最基本的查询时返回表中所有数据,可以通过过滤器进行更精确的数据库查询. 定义模型类 一般实际工作中我们会把模型创建到单独的文件中,学习阶段我们先将模型类写在main.py文件中. from flask i

3.22数据库基础知识:①数据类型②基本规则③数据库基本操作,增删改库,表

数据库:①数据类型②基本规则③数据库基本操作,增删改库,表 DATABASE 数据库Relational Database 关系型数据库column 列 row行Primary Key 主键 Foreign Key 外键DBMS 数据库管理系统 Database Management SystemRDBNS 关系型数据库管理系统SQL Structured Query Language 结构化查询语言SQL 分为:DDL DQL DML DCL 一.数据类型:1.整数型:INT BIGINT2.

python sqlite3 数据库操作

SQLite3是python的内置模块,是一款非常小巧的嵌入式开源数据库软件. 1. 导入Python SQLite数据库模块 import sqlite3 2. python sqlite3模块的API """ sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的链接.您可以使用 ":memory:" 来在 RA

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mysql 二.MySQLdb模块: MySQLdb模式是Python中专门连接MySQL数据库的模块,另外Python开发环境的搭

python(pyqt)开发环境搭建

eric+pyqt 安装(python开发工具) 更多 0 Python python Eric是一个开源的.跨平台的python&ruby集成开发环境,基于python和pyqt运行.eric有以下特点 1.跨Windows/Linux/Mac等开台 2.调试器给力.支持设置断点,单步调试,查看变量值. 3.支持工程. 4.支持自动补全. 5.支持智能感知,即输入变量名和一个点,会自动提示可能的函数. 6.自动语法检查.每次保存时自动检查. 7.支持自动缩进,会自动判断if, while等语句

python 读取数据库,老是报错。

在8.04.4环境下(其实我觉得跟环境无关,是我语句有问题): $ dpkg -l | grep -i python ii  libapache2-mod-python                 3.3.1-2build1               Apache 2 module that embeds Python within th ii  moinmoin-common                       1.5.8-5.1ubuntu2.5          Python

数据库基本操作(二)--数据查询

//数据查询 create database JXGL; //创建数据库 use JXGL;//使用数据库 create table S( Sno char(10) not null unique, Sname char(20) not null unique, Ssex char(2), Sage int, Sdept char(20)); create table C( Cno char(2) not  null primary key (Cno), Cname char(20), Teac