美文网首页
【python】 图形化数据库操作

【python】 图形化数据库操作

作者: 猪猪奋斗记 | 来源:发表于2021-03-17 14:41 被阅读0次

Linux下安装MySQLdb

参考这里

python 数据库编程提供的接口

connect(dsn,user,password,host,database,charset)

dsn: 数据源名称,给出该参数表示数据库依赖

user: 用户名

password: 用户密码

host: 主机名

database: 数据库名

charset: 编码方式

connect对象的方法

close() 关闭连接之后,链接对象和他的游标都不可用

commit() 如果支持的话就提交挂起的失误,否则不做任何事

rollback() 回滚挂起的事物

cursor() 返回连接的游标对象

cursor对象的方法

close() 关闭游标

execute(oper[,params]) 执行一个SQL操作

executemany(oper,pseq) 对序列中的每一个参数集执行SQL操作

fetchone() 把查询结果的下一行保存为序列

fetchmany(size) 获取查询结果集中的多行,默认为arraysize

fetchall() 将所有(剩余)的行为作为序列的序列

setinputsize() 为参数预先定义内存区域

setoutputsize() 为获取的大数据值设定缓冲区尺寸

python数据库操作的基本流程

建立和数据库的链接(使用connect对象)

获取游标对象(connect.cursor)

选择数据库(没有的话可以创建)

执行SQL语句(cursor对象的方法)

提交事务(commit()方法)

关闭游标对象

关闭数据库连接

实例:

Code

#!/usr/bin/python

#coding=utf-8

import sys

import MySQLdb

import wx

'''

处理数据库类

'''

class database:

def __init__(self):

self.con = MySQLdb.connect(host='localhost',user='root',passwd='20134579',db='zhai')

self.cursor = self.con.cursor()

def insert(self,event):

table = Input.GetValue()

info = Info.GetValue()

sql = "insert into " + table + " values(" +info + ")"

self.cursor.execute(sql)

self.con.commit()

def select_id(self,id):

table = load()

sql = "select * from "+ table +" where id = " + id

self.cursor.execute(sql)

result = cursor.fetchall()

contents.SetValue(result)

def show(self,event):

table = Input.GetValue()

sql = "select * from "+ table

self.cursor.execute(sql)

result = self.cursor.fetchall()

contents.AppendText("That's all the data in table "+table+' \n')

for var in result:

for item in var:

contents.AppendText(str(item)+' , ')

contents.AppendText('\n')

def help(event):

contents.AppendText("the first TextBox is thblename\n")

contents.AppendText("the second TextBox is the infomation you want to add\n")

if __name__ == '__main__':

solve = database()

try:

app = wx.App()

win = wx.Frame(None,title='DadaBase',size=(410,335))

bkg = wx.Panel(win)

showButton = wx.Button(bkg,label = 'Show')

showButton.Bind(wx.EVT_BUTTON,solve.show)

helpButton = wx.Button(bkg,label = 'Help')

helpButton.Bind(wx.EVT_BUTTON,help)

insertButton = wx.Button(bkg,label = 'Insert')

insertButton.Bind(wx.EVT_BUTTON,solve.insert)

selectButton = wx.Button(bkg,label = 'Select')

selectButton.Bind(wx.EVT_BUTTON,solve.select_id)

Input = wx.TextCtrl(bkg)

contents = wx.TextCtrl(bkg,style = wx.TE_MULTILINE | wx.HSCROLL)

Info = wx.TextCtrl(bkg)

hbox = wx.BoxSizer()

hbox.Add(Input, proportion=1,flag = wx.EXPAND)

hbox.Add(Info, proportion=2,flag = wx.EXPAND)

hbox.Add(showButton, proportion=0, flag=wx.LEFT, border=5)

hbox.Add(insertButton, proportion=0, flag=wx.LEFT, border=5)

hbox.Add(selectButton, proportion=0, flag=wx.LEFT, border=5)

hbox.Add(helpButton, proportion=0, flag=wx.LEFT, border=5)

vbox=wx.BoxSizer(wx.VERTICAL)

vbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)

vbox.Add(contents, proportion=1, flag = wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5)

bkg.SetSizer(vbox)

win.Show()

app.MainLoop()

finally:

solve.cursor.close()

solve.con.close()

实验结果

开始界面:

Help选项:

Show选项:

Insert选项:

相关文章

网友评论

      本文标题:【python】 图形化数据库操作

      本文链接:https://www.haomeiwen.com/subject/obqecltx.html