pycharm访问mysql数据库的方法步骤

yipeiwu_com6年前Python基础

不需要像eclipse那样添加驱动包,在pycharm里面下载一个pymysql包即可。

然后链接自己电脑的mysql并进行访问即可。

源码如下

import pymysql

 

# 建立数据库连接

conn = pymysql.Connect(

  host='localhost',

  port=3306,

  user='用户',

  passwd='密码',

  db='数据库',

  charset='utf8'

)

 

# 获取游标

cursor = conn.cursor()

# print(conn)

# print(cursor)

 

# 1、从数据库中查询

# sql="INSERT INTO userinfor(user_name,pass_word)"

sql = "SELECT * FROM userinfor"

# cursor执行sql语句

cursor.execute(sql)

# 打印执行结果的条数

print(cursor.rowcount)

 

# 使用fetch方法进行遍历结果 总共有三条数据

 

# rs=cursor.fetchone()#将第一条结果放入rs中

# re=cursor.fetchmany(3)#将多个结果放入re中

rr = cursor.fetchall() # 将所有的结果放入rr中

# 对结果进行处理

for row in rr:

  print("ID是:=%s, 姓名是:=%s, 密码是:=%s" % row)

# print(re)#输出两条数据,因为fetch()方法是建立在上一次fetch()方法基础上的

 

 

# 2数据库中插入数据

sql_insert = "INSERT INTO userinfor(username,password) values('中兴','123')"

# 执行语句

cursor.execute(sql_insert)

# 事务提交,否则数据库得不到更新

conn.commit()

print(cursor.rowcount)

 

# 修改数据库中的内容

sql_update = "UPDATE userinfor SET username='121' WHERE id=21"

cursor.execute(sql_update)

conn.commit()

 

# 删除数据库中的内容,并利用try catch语句进行事务回滚

try:

  sql_delete = "DELETE FROM userinfor WHERE id=6"

  cursor.execute(sql_delete)

  conn.commit()

except Exception as e:

  print(e)

  # 事务回滚,即出现错误后,不会继续执行,而是回到程序未执行的状态,原先执行的也不算了

  conn.rollback()

 

# 数据库连接和游标的关闭

conn.close()

cursor.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python自动化构建工具scons使用入门笔记

Python自动化构建工具scons使用入门笔记

这段时间用到了scons,这里总结下,也方便我以后查阅。 一、安装scons Linux环境(以CentOS为例) 1、yum安装 yum install scons 2、源码安装 下载...

Python用GET方法上传文件

之前在osc看到一个文章讨论Get和Post的不同, 有人说不能用Get来上传文件。这就是用Get上传文件的例子,client用来发Get请求,server用来收请求。文件内容是在htt...

解决Django中调用keras的模型出现的问题

笔者小白在用Django写一个表格单据图片的识别应用的时候,遇到了调用基于Tensorflow的keras模型出错的问题。 出现的错误信息类似于以下: ValueError: Ten...

python实现两张图片的像素融合

本文实例为大家分享了python实现两张图片像素融合的具体代码,供大家参考,具体内容如下 通过计算两张图片的颜色直方图特征,利用直方图对图片的颜色进行融合。 import nump...

Python 静态方法和类方法实例分析

Python 静态方法和类方法实例分析

本文实例讲述了Python 静态方法和类方法。分享给大家供大家参考,具体如下: 1. 类属性、实例属性 它们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 实例属性属于对...