目录
一、最基本的准备
1.1本地安装mysql,推荐安装以下其中之一
1.2安装python软件
二、建立连接
1.1打开PyCharm编程软件
1.2打开mysql软件,否则连接不上
1.3在python环境中下载PyMysql库
1.4 连接数据库
二、创建表格
1.1在python中创建表格
1.2在mysql中查看
三、Python中MySQL数据库操作
四、参数说明
一、最基本的准备
1.1本地安装mysql,推荐安装以下其中之一
1.2安装python软件
二、建立连接
1.1打开PyCharm编程软件
1.2打开mysql软件,否则连接不上
1.3在python环境中下载PyMysql库
pipinstall PyMysql
1.4 连接数据库
import pymysql.cursors# 连接数据库connect = pymysql.Connect(host='127.0.0.1',port=3306,user='root',passwd='123456',db='test_1',charset='utf8')
运行上述代码不报错则说明连接成功,若不放心,我们可建表试试,如果在数据库中能够看到所建的表,说明连接成功了。
二、创建表格
1.1在python中创建表格
# 获取游标cursor = connect.cursor()#创建表格sql = "CREATE TABLE test_1(id INTEGER PRIMARY KEY,name TEXT)"try:cursor.execute(sql)connect.commit()except:print("表已存在")print('成功创建表格')
打印结果
1.2在mysql中查看
如图所示证明,python与mysql连接成功了
三、Python中MySQL数据库操作
# 连接数据库connect = pymysql.Connect(host='127.0.0.1',port=3306,user='root',passwd='123456',db='note',charset='utf8')# 获取游标cursor = connect.cursor()#删除表sql = 'DROP TABLE IF EXISTS student'cursor.execute(sql)connect.commit()print('如果存在表就删除表格')#创建表格sql = "CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)"try:cursor.execute(sql)connect.commit()except:print("表已存在")print('成功创建表格')# 插入数据sql = "INSERT INTO student VALUES(%d,'%s')"data = (1, 'student1')cursor.execute(sql % data)connect.commit()print('成功插入', cursor.rowcount, '条数据')# 修改数据sql = "UPDATE student SET name = '%s' WHERE id = %d "data = ('student2', 1)cursor.execute(sql % data)connect.commit()print('成功修改', cursor.rowcount, '条数据')# 查询数据sql = "SELECT * FROM student WHERE id=%d"data = (1,)cursor.execute(sql % data)for row in cursor.fetchall():print("%s" % str(row))print('共查找出', cursor.rowcount, '条数据')# 删除数据sql = "DELETE FROM student WHERE id = %d LIMIT %d"data = (1, 1)cursor.execute(sql % data)connect.commit()print('成功删除', cursor.rowcount, '条数据')# 事务处理sql_1 = "UPDATE student SET name = name + '1' WHERE id = 1 "try:cursor.execute(sql_1)except Exception as e:connect.rollback()# 事务回滚print('事务处理失败', e)else:connect.commit()# 事务提交print('事务处理成功', cursor.rowcount)# 关闭连接cursor.close()connect.close()
四、参数说明
参数 | 说明 |
---|---|
host(str) | MySQL服务器地址 |
port(int) | MySQL服务器端口号 |
user(str) | 用户名 |
passwd(str) | 密码 |
db(str) | 数据库名称 |
charset(str) | 连接编码 |
方法 | 说明 |
---|---|
cursor() | 使用该连接创建并返回游标 |
commint() | 提交当前事务 |
rollback() | 回滚当前事务 |
close() | 关闭连接 |
方法 | 说明 |
---|---|
execute(op) | 执行一个数据库的查询命令 |
fetchone() | 取得结果集的下一行 |
fetchmany(size) | 获取结果集的下几行 |
fetchall() | 获取结果集中的所有行 |
rowcount() | 返回数据条数或影响条数 |
close() | 关闭游标对象 |