Python——Python连接MySQL数据库

基本概念

 PyMySQL:PyMySQL是封装了MySQL驱动的Python驱动,一个能使Python连接到MySQL的库。

mysql-connector-python(MySQL Connector/Python):MySQL官方的纯Python驱动。因为是纯Python开发的。效率不高。

mysqlclient MySQLdb的分支。增加了对Python 3的支持和错误修复。我希望此Fork(分支)可以像分发一样被合并回MySQLdb,也可以像分发一样被合并回setuptools。

MySQLdb:又称:MySQL-python,MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代的是它的衍生版本。

官方文档

https://www.python.org/dev/peps/pep-0249/#connection-objects 

解决方案

方法一:使用PyMySQL库连接MySQL数据库

import pymysql#连接数据库
conn=pymysql.connect(
    host = '127.0.0.1' # 连接名称,默认127.0.0.1 
    ,user = 'root' # 用户名
    ,passwd='password' # 密码
    ,port= 3306 # 端口,默认为3306
    ,db='test' # 数据库名称
    ,charset='utf8' # 字符编码)
cur = conn.cursor() # 生成游标对象
sql="select * from `student` " # SQL语句
cur.execute(sql) # 执行SQL语句
data = cur.fetchall() # 通过
fetchall方法获得数据
for i in data[:2]: # 打印输出前2条数据
    print (i)
cur.close() # 关闭游标
conn.close() # 关闭连接

方法二:使用mysql.connector库连接MySQL数据库

import mysql.connector
conn=mysql.connector.connect(
    host = '127.0.0.1' # 连接名称,默认127.0.0.1 
    ,user = 'root' # 用户名
    ,passwd='password' # 密码
    ,port= 3306 # 端口,默认为3306,db='test' # 数据库名称
    ,charset='utf8' # 字符编码)
cur = conn.cursor() # 生成游标对象
sql="select * from `student` " # SQL语句
cur.execute(sql) # 执行SQL语句
data = cur.fetchall() # 通过fetchall方法获得数据
for i in data[:2]: # 打印输出前2条数据
    print (i)
cur.close() # 关闭游标
conn.close() # 关闭连接

方法三:使用mysqlclient库连接MySQL数据库

#coding=utf-8
import MySQLdb
#connect() 方法用于创建数据库的连接,里面可以指定参数:用户名,密码,主机等信息。
#这只是连接到了数据库,要想操作数据库需要创建游标。
conn= MySQLdb.connect(
        host='localhost',
        port = 3306,
        user='root',
        passwd='123456',
        db ='test',
        )

#通过获取到的数据库连接conn下的cursor()方法来创建游标。
cur = conn.cursor()
#创建数据表,通过游标cur 操作execute()方法可以写入纯sql语句。通过execute()方法中写如sql语句来对数据进行操作
cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")
#插入一条数据
cur.execute("insert into student values('2','Tom','3 year 2 class','9')")
#修改查询条件的数据
cur.execute("update student set class='3 year 1 class' where name = 'Tom'")
#删除查询条件的数据
cur.execute("delete from student where age='9'")
#cur.close() 关闭游标
cur.close()
#conn.commit()方法在提交事物,在向数据库插入一条数据时必须要有这个方法,否则数据不会被真正的插入。
conn.commit()
#conn.close()关闭数据库连接
conn.close()

方法四:使用MySQLdb库连接MySQL数据库

import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print "Database version : %s " % data
# 关闭数据库连接
db.close()

参考文章

https://baijiahao.baidu.com/s?id=1642463236846856193&wfr=spider&for=pc

https://www.runoob.com/python/python-mysql.html

扫描二维码关注公众号,回复: 8486032 查看本文章

https://www.cnblogs.com/chongdongxiaoyu/p/8951433.html

发布了1345 篇原创文章 · 获赞 226 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/weixin_43272781/article/details/103784064