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设计】。

相关文章

Flask解决跨域的问题示例代码

Flask解决跨域的问题示例代码

跨域文件上传的时候,浏览器会自动发起一个 OPTIONS 方法到服务器,现在后台解决前端跨域解决前端跨域请求的问题 客户端发起的这个 OPTIONS 可以说是一个“预请求”,用于探测后续...

在Python中使用filter去除列表中值为假及空字符串的例子

在 Python中,认为以下值为假: None # None值 False # False值 0 # 数值零不管它是int,float还是complex类型 '',(),[] #...

Python决策树之基于信息增益的特征选择示例

Python决策树之基于信息增益的特征选择示例

本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下: 基于信息增益的特征选取是一种广泛使用在决策树(decision tree)分类算法中用到的特征...

python pandas中DataFrame类型数据操作函数的方法

python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数。 1)查看Dat...

python实现NB-IoT模块远程控制

本来想尝试下如果不使用运营商网络应用平台情况下,只是在服务商服务器上是否可以实现对终端完全控制,如果这样可行,那么物联网应用服务端更有灵活性。实际情况下,很难实现和运营商网络对等的处理,...