Python下操作MySQL数据库

发表于:2018-4-24 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:呆小秋    来源:51Testing软件测试网原创

  最近刚好有用到Python下操作Mysql数据库,趁这个时候总结一下。因为我们测试过程,有可能要通过数据库保存一些我们的测试数据之类的。
  要在Python下操作Mysql数据库,要先确保有安装了PyMysql了(电脑上安装Mysql的在这里就不阐述,但需要注意的是要记住一开始安装的数据库root的密码,另外一个就是记住数据库的端口(默认是3306))
  一、安装PyMysql:
  先进入到Python安装目录下的Scripts路径下,安装pip,这个工具,然后通过pip,安装PyMysql,具体如下图所示。安装成功会提示successfully installed。
  二、cmd命令模式下数据库的基本操作(语法在Python中也要用到)
  1、启动mysql数据库(进入服务前要先手动启动MySQL服务或使用net start mysql命令启动)
  有出现如上图的一堆版本之类的,说明已经进入MySQL了。
  注意如果你的mysql没有安装在C盘下,你需要先使用DOS命令进入mysql的安装目录下的bin目录中。另外,这边的root密码就是安装MySQL的时候设置的root密码。
  2、创建数据库,查看数据库和创建表
  1)创建数据库:
  2)查看数据库和创建表
  3、增
  4、删
  1)删除记录
  2)删表:
  3)删数据库
  5、改
  6、查
  三、Python中操作MySQL数据库
  以上都熟练了,在Python中操作就比较易懂了。
  下面是我写的一个简单小程序(注意看注释部分)
  代码:
import  pymysql   #引入pysql模块
#数据库连接
connect=pymysql.connect(
db='company',        #数据库名称
host='127.0.0.1',      #数据库的地址:本机127.0.0.1
user='root',          #用户名
passwd='root',       #密码
port=3306,          #MySQL数据库的服务端口
charset='utf8'        #数据库编码格式
)
cursor=connect.cursor()    #创建游标
cursor.execute('drop table if exists depart;')  #如果存在该表就先删表
def select ():         #定义查找全表的函数,后面用到
cursor.execute('select *from depart;')     #查
print(cursor.fetchall())     #fetchall(): 接收全部的返回结果行;fetchone(): 该方法获取下一个查询结果集,结果集是一个对象
sql='create table depart(id int(10) primary key auto_increment,name char(20) not null,num int(10));'            #创建表的SQL语句
cursor.execute(sql)
sql='desc depart;'     #显示表结构
cursor.execute(sql)     #使用 execute() 方法执行 SQL
print(cursor.fetchall())   #打印出查询结果
sql="insert into depart (name,num) values('develop',10);"  #增
cursor.execute(sql)
cursor.execute("insert into depart(id,name,num) values(2,'test',10);")   #增 ,相比上面语句这个是直接在execute里面写语句。
select()          #执行查询语句,看是否插入成功
cursor.execute("delete from depart where name='test';")  #删
select()          #执行删除语句,看是否删除成功
cursor.execute("update depart set name='develpoper' where id=1;") #改
select()         #执行改语句,看是否删除成功
cursor.close()    #关闭游标
connect.close()    #关闭数据库连接
  运行代码,显示得结果如下:
  附一张代码的图,可能比上面文字比较整齐清晰一点。
... ...
  查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第四十九期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号