python数据库编程 Mysql实现通讯录


Posted in Python onMarch 27, 2020

本文实例为大家分享了Mysql实现通讯录的具体代码,供大家参考,具体内容如下

#-*-code:utf-8-*-
import pymysql
def CreateTable():
 hcon=pymysql.connect(host='localhost',user='root',password='lptpwd',database='contract',charset='utf8')
 hcur=hcon.cursor()
 hcur.execute('drop table if exists contractlist')
 ctable='''
 create table contractlist
 (
 ID int(10) primary key,
 NAME varchar(20) not null,
 TELF char(11) not null,
 TELS char(11),
 OTHER varchar(50)
 )engine=myisam charset=utf8;
 '''
 hcur.execute(ctable)
 hcur.close()
 hcon.close()
 
def AddInfo(hcon,hcur):
 id=int(input('please input ID: '))
 name=str(input('please input Name: '))
 telf=str(input('please input Tel 1: '))
 tels=str(input('please input Tel 2: '))
 other=str(input('please input other: '))
 sql="insert into contractlist(id,name,telf,tels,other) values(%s,%s,%s,%s,%s)"
 try:
 hcur.execute(sql,(id,name,telf,tels,other))
 hcon.commit()
 except:
 hcon.rollback()
 
def DeleteInfo(hcon,hcur):
 SelectInfo(hcon,hcur)
 did=int(input('please input id of delete: '))
 sql="delete from contractlist where id=%s"
 try:
 hcur.execute(sql,(did,))
 hcon.commit()
 except:
 hcon.rollback()

def UpdateInfo(hcon,hcur):
 SelectInfo(hcon,hcur)
 did=int(input('please input id of update: '))
 
 sqlname="update contractlist set name=%s where id=%s"
 name=str(input('please input Name: '))
 try:
 hcur.execute(sqlname,(name,did))
 hcon.commit()
 except:
 hcon.rollback()
 
 sqltelf="update contractlist set telf=%s where id=%s"
 telf=str(input('please input Tel 1: '))
 try:
 hcur.execute(sqltelf,(telf,did))
 hcon.commit()
 except:
 hcon.rollback()
 
 sqltels="update contractlist set tels=%s where id=%s"
 tels=str(input('please input Tel 2: '))
 try:
 hcur.execute(sqltels,(tels,did))
 hcon.commit()
 except:
 hcon.rollback()
 
 sqlothers="update contractlist set other=%s where id=%s"
 other=str(input('please input other: '))
 try:
 hcur.execute(sqlothers,(other,did))
 hcon.commit()
 except:
 hcon.rollback()
 
 
def SelectInfo(hcon,hcur):
 hcur.execute("select * from contractlist")
 result=hcur.fetchall()
 ptitle=('ID','Name','Tel 1','Tel 2','Other')
 print(ptitle)
 for findex in result:
 print(findex)
 
 print('')

 
def Meau():
 print('1.diaplay')
 print('2.add')
 print('3.update')
 print('4.delete')
 print('5.cls')
 print('0.exit')
 sel=9
 while(sel>5 or sel<0):
 sel=int(input('please choice: '))
 return sel
 
def main():
 #CreateTable()
 hcon=pymysql.connect(host='localhost',user='root',password='ltb12315',database='contract',charset='utf8')
 hcur=hcon.cursor()
 while(True):
 sel=Meau()
 if(sel==1):
 SelectInfo(hcon,hcur)
 elif(sel==2):
 AddInfo(hcon,hcur)
 elif(sel==3):
 UpdateInfo(hcon,hcur)
 elif(sel==4):
 DeleteInfo(hcon,hcur)
 elif(sel==5):
 os.system('cls')
 else:
 break
 print('-------------------------')
 hcur.close()
 hcon.close()
 
if __name__=="__main__":
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用paramiko模块实现ssh远程登陆上传文件并执行
Jan 27 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 Python
python爬取网易云音乐评论
Nov 16 Python
浅谈Python爬虫基本套路
Mar 25 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
基于Django signals 信号作用及用法详解
Mar 28 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
python基础详解之if循环语句
Apr 24 Python
pytorch查看网络参数显存占用量等操作
May 12 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 #Python
django 读取图片到页面实例
Mar 27 #Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 #Python
django列表筛选功能的实现代码
Mar 27 #Python
python实现猜数游戏
Mar 27 #Python
手把手教你安装Windows版本的Tensorflow
Mar 26 #Python
python pandas.DataFrame.loc函数使用详解
Mar 26 #Python
You might like
PHP中PDO基础教程 入门级
2011/09/04 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
js倒计时小程序
2013/11/05 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
JS中数组重排序方法
2016/11/11 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
pandas重新生成索引的方法
2018/11/06 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
日语专业个人的求职信
2013/12/03 职场文书
给物业的表扬信
2014/01/21 职场文书
科研先进个人典型材料
2014/01/31 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
会议主持词通用版
2019/04/02 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技