python 实战之模仿开发QQ聊天软件(二)MySQL数据库的连接和使用
上一篇说道QQ登录界面GUI的模仿设计
在自己的电脑上安装mysql.
ctrl +shift +T,依次输入
sudo su
apt-get install MySQL-client-core-5.6
apt-get install mysql-client-5.6
apt-get install mysql-server-5.6
注意:在安装的时候会让你输入一个密码,此密码是mysql数据库root用户的密码,请记住自己输入的密码,此密码和服务器root用户的密码不是同一个。
service mysql restart
查看mysql是否安装成功
此时mysql只能本地访问,不能远程访问,现在直说本地访问,远程访问往后再说。
创建数据库
ctrl +shift +T,依次 输入
service mysql start
mysql -u root -p
输入你刚才设置的密码
出现 mysql -> 说明已经进入了数据库系统
现在创建数据库(数据库语言语言一句话结束一定要加分号)
create database 数据库名; 分号一定不能漏
使用刚才创建的数据库
use 数据库名 ;
添加数据表
create table 数据表名称(第一列名称 类型(长度),第二列名称 类型(长度)……);
举个例子:
create table usr(id char(10)unique,primary key,name char(10));
unique唯一性,primary key 主键 这个不太懂得可以百度一下
添加数据
insert into 数据表名称 (第一列名称,第二列名称)values(值1,值2);
举个例子
insert into usr (id,name) values('123','abc');
查看数据库,数据表
select *from 数据库名称或数据表名称
删除数据项
delete from where id == '123'
删除数据库,数据表
drop database或者table 数据库名称或数据表名称
退出数据库
quit
在pycharm中配置MySQL
回到pycharm界面 File》setting》project:》project interpreter
在package里面点 +
搜索 PyMySQL 点击左下角 install Package 等待安装完成。
回到pycharm主界面 view》ToolWindows》DataBase
右侧弹出Database界面,点击+
选择MySQL弹出编辑界面点击General
在DataBase 填入数据库名,usr填入数据库拥有者的用户名 password 填入密码
然后点击TestConnection 出现successfull,表示成功。
使用python语言实现对数据库的增删改查
import pymysql
pymysql.install_as_MySQLdb()
class log_information:@staticmethod #静态函数方便调用def connect(id,pwd): #查db = pymysql.connect("localhost","LXY","123456","myqq") #关联数据库cursor = db.cursor() #取得数据库游标sql="SELECT * FROM usr where usr_id='%s' " % (id) #数据库语言,按id查找try:cursor.execute(sql) #游标执行数据库语言results = cursor.fetchone() #接受所有符合的对象if pwd == results[2] :print "login in success!\n"else:print "you are not in my sql!\nPlease register at first!"print"usr_id = %d,usr_name = %s,usr_pwd = %s" %(results[0],results[1],results[2])return resultsexcept:print"Error : Register at first!"db.close() #关闭数据库@staticmethoddef Create_new_usr(id,name,pwd): #增db = pymysql.connect("localhost", "LXY", "123456", "myqq")cursor = db.cursor()sql ="INSERT INTO usr(usr_id,usr_name,usr_pwd) VALUES ('%s','%s','%s')"%(id,name,pwd)try:# 执行sql语句cursor.execute(sql)db.commit() #提交刷新数据库print("insert ok")except:print"插入数据失败"# 发生错误时回滚db.rollback()# 关闭数据库连接db.close()@staticmethoddef getinformation(id, pwd):db = pymysql.connect("localhost", "LXY", "123456", "myqq")cursor = db.cursor()sql = "SELECT * FROM usr where usr_id='%s' " % (id)cursor.execute(sql)results = cursor.fetchone()return results
其他操作类似。
button 按钮的动作关联看上一篇 __init___函数上面的几个函数
控件关联方法:
btn.blind("<Button-1",self.connect)
第一个参数是触发条件,不清楚的可以查一下
第二个参数是触发后执行动作的方法
python 实战之模仿开发QQ聊天软件(二)MySQL数据库的连接和使用相关推荐
- python 实战之模仿开发QQ聊天软件(一)登录GUI设计
网上找博客找了很久,大家对于PYTHON GUI的介绍都很简单,举得例子也都很基础. 有个BUG卡了我2天,就是因为举得例子太简单,不能满足我的需要. 这里需要说明一下,网上的例子基本不是面向对象的G ...
- python 实战之模仿开发QQ聊天软件(三)TCP/IP服务器与客户端建设
无论是p2p还是c/s还是b/s,只要用到通讯,必然是要用到今天写的这个. python+MYSQL 在pycharm中的使用 TCP/IP是网络软件最核心的部分,缺少这个你只能当做单机游戏玩. TC ...
- mysql 与紫金桥_基于紫金桥组态软件与mysql数据库的连接简介
摘要:概要 MySql是一个快速.多线程.多用户的SQL数据库服务器,可运行在不同的操作系统下.简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX.Linux和SUN O ...
- mysql 与紫金桥_简述紫金桥组态软件与mysql数据库的连接
在紫金桥组态软件中,连接mysql数据库的方式一般有两种: 一 用报表关系数据源点 1 在点组态中创建"报表关系数据源点" 2 在联接字符串后面点击 ,并选择"使用DNS ...
- 转载:仿QQ聊天软件2.0版
仿QQ聊天软件2.0版 这是大神的地址:牟尼的专栏 http://blog.csdn.net/u012027907 详细的过程本人没看,但是看见他的实现效果,相当诱人! 上次课设做了Java版 ...
- 仿QQ聊天软件(JavaFX+云端数据库)
仿QQ聊天软件(JavaFX+云端数据库) 这个项目是这学期(大二上学期学完Java后的期末项目),寒假闲着无聊就整理下发上来供大家学习以及参考啦(因为国内关于JavaFX的各种资料感觉都太浅了,本来 ...
- linux qq多进程客户端,基于多进程QQ聊天软件设计.doc
基于多进程QQ聊天软件设计 基于多进程的QQ聊天程序设计功能需求描述用户名登陆聊天,人与人之间交流是必不可少的.私聊,与特定的用户聊天群聊,向所有的用户发送消息,大家一起聊欢乐多 server端 输入 ...
- 仿QQ聊天软件(登录界面、好友界面、聊天界面)-Java(Swing、Socket)
文章目录 一.项目结构 二.项目功能 三.制作界面 (一).登录界面的制作 (二).好友列表界面 (三).聊天界面 四.制作服务器 五.设计通信协议 六.项目缺点 学习了socket通信后,就想来制作 ...
- 仿微信界面开发的聊天软件和聊天客户端功能介绍
系统模式:独立系统版本,独立服务器部署,服务器配置:建议 4 核 8G:10M 带宽既可 以下是聊天系统客户端的功能介绍,服务端的功能我会再写一篇文章接着 仿微信聊天开发的聊天软件以及聊天客户端功能介 ...
最新文章
- Linux云服务器下Tomcat部署超详细
- Delphi编写事件模型客户端(2)
- 每周一起读 | ACL 2019 NAACL 2019:文本关系抽取专题沙龙
- Nauuo and Circle
- hprof文件中导出图片
- (iOS开发总结)MVC模式
- python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】...
- 你怕是对MD5算法有误解
- 小甲鱼零基础入门python二十一课课后题_小甲鱼Python第二十一讲课后习题
- 坦克世界 与服务器连接中断,坦克世界怎么老是显示与服务器连接已中断
- Github开源之旅启程:GitHub 上部署网页
- 如何在Android上使背景20%透明
- mysql replication-rewrite-db_多主一从mysql replication同步表的大胆尝试.
- MATLAB实现连续周期信号的频谱分析(正余弦波信号举例)
- 【图像几何】基于matlab GUI傅立叶+DCT图像变换【含Matlab源码 844期】
- linux sipp 呼叫转移_★★★★盲转接业务的sipp脚本实现
- 去泰国,怎能错过这些零食!
- Kafka 数据丢失问题
- Android打字机动画,Android自定义View实现打字机效果
- Mockito使用简介