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+Django实现防止SQL注入的办法

先看看那种容易被注入的SQL id = 11001 sql = """ SELECT id, name, age FRO...

Python编程中用close()方法关闭文件的教程

 close()方法方法关闭打开的文件。关闭的文件无法读取或写入更多东西。文件已被关闭之后任何操作会引发ValueError。但是调用close()多次是可以的。 Python...

python3.8下载及安装步骤详解

python3.8下载及安装步骤详解

1.操作系统:Windows7 64bit Python版本:3.8下载地址:https://www.python.org/downloads/release/python-380/,选...

Python列表(list)常用操作方法小结

常见列表对象操作方法: list.append(x) 把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] 。 list.extend(L) 将一个给定列表中的所有元素都...

Python实现银行账户资金交易管理系统

Python实现银行账户资金交易管理系统

用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。 如: 下面按照要求定义一个账户 Acc...