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

相关文章

详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击

一、在django后台处理 1、将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建...

把MySQL表结构映射为Python中的对象的教程

ORM mysql的表结构是二维表,用python的数据结构表示出来就是一个列表,每一个记录是一个tuple。如下所示: [('1', ''huangyi),('2', ''letian...

flask框架中勾子函数的使用详解

在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求开始时,根据需求进行权限校验; 在请求结束时,指定数据的交互格式...

Python实现邮件的批量发送的示例代码

1 发送文本信息 '''加密发送文本邮件''' def sendEmail(from_addr,password,to_addr,smtp_server): try: msg...

python实现requests发送/上传多个文件的示例

1、需要的环境 Python2.X Requests 库 2、单字段发送单个文件 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求...