菜鸟写Python-连接MySQL数据库:打通python连接mysql数据库的基本操作 - Go语言中文社区

菜鸟写Python-连接MySQL数据库:打通python连接mysql数据库的基本操作


之前文章中详细介绍python使用sqlite的基本理论:菜鸟写Python-数据库入门:通过7步曲掌握数据库的使用原理,本文中,我们在通过一个案例探寻mysql的使用,看完本文,你能基本掌握mysql的操作。

1 环境:python3.6 + mysql 1.1.7 + pyCharm

2 准备:

2.1 本安装mysql+Navicat for mysql (本文不介绍这步,安装数据库请自行百度或私下问我);

2.2 安装python的mysql驱动包(环境首次使用mysql必要操作):

pip3 install MySQL_Python

     安装mysql driver,已安装的请忽略。若这个方式安装失败,或者安装速度慢,请尝试用下先下载到本地whl文件的,在通过本地安装的方式安装。详见:菜鸟写Python-通过whl文件本地安装python依赖包

3 python代码操作mysql数据库七步曲:

3.1 import MySQLdb 数据库驱动

3.2 通过驱动连接数据库:conn=MySQLdb.connect("mysql用户名密码等连接参数配置")

3.3 通过连接生成执行数据库的cursor:cursor=conn.cursor()

3.4 拼凑sql语句: sql='select * from article'

3.5 执行sql语句: cursor.execute(sql)

3.6 获取执行结果 data=cursor.fetchall()

3.7 提交并关闭数据库 conn.commit()   &  conn.close()

基本上mysql数据库的操作通过以上七个步骤连执行,具体的插入,更新,删除,查询等通过sql语句操作变化就行。

4 代码示例:

4.1 查询数据库:

# 导入驱动
import MySQLdb

# 打开数据库连接(数据库地址,数据库用户名,密码,数据库,字符)
db = MySQLdb.connect("127.0.0.1", "root", "test123", "webarticle", charset='utf8' )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 使用execute方法执行SQL语句:选择article全部数据
cursor.execute("select * from article")

# 使用 fetchall() 方法获取全部数据/fetchallone() 获取一条数据
data = cursor.fetchall()

for result in data:
    print(result)

# 关闭数据库连接
db.close()

执行效果:

4.2 插入

import MySQLdb

# 打开数据库连接
db=MySQLdb.connect('127.0.0.1','root','smaluv123','meijiangbbs',charset='utf8',use_unicode=True)

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('AAA', 'cc', 1, 'L', 2000)
"""
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# 关闭数据库连接
db.close()

4.3 删除

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect('127.0.0.1','root','smaluv123','meijiangbbs',charset='utf8',use_unicode=True)

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# SQL 删除语句
sql = "DELETE FROM article WHERE title = '删除文章'"
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 提交修改
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()

# 关闭连接
db.close()

这些操作基本都是一样发的,就是sql语句会有一些不同,其他的操作可以参考:

菜鸟写Python-数据库入门:通过7步曲掌握数据库的使用原理

2 cursor游标对象有如下属性和方法:
2.1 常用方法:
close():关闭此游标对象
fetchone():得到结果集的下一行
fetchmany([size = cursor.arraysize]):得到结果集的下几行
fetchall():得到结果集中剩下的所有行
excute(sql[, args]):执行一个数据库查询或命令
excutemany(sql, args):执行多个数据库查询或命令

2.2 常用属性:
connection:创建此游标对象的数据库连接
arraysize:使用fetchmany()方法一次取出多少条记录,默认为1

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/godot06/article/details/81482397
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 12:03:15
  • 阅读 ( 1432 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢