python是数据库语言吗_在python中使用mysql数据库

本文详细介绍了如何在Python3中使用PYMySQL模块连接和操作MySQL数据库,包括安装PYMySQL、建立数据库连接、创建光标对象、执行SQL语句、提交事务、回滚操作、关闭连接以及增删改查的基本操作。强调了UTF8字符集的重要性,并提供了实例代码进行演示。
摘要由CSDN通过智能技术生成

在之前的学习中我们在登录系统操作的时候,数据都是储存在本地的一个文件中,这种操作在实际运用中肯定是不可取的,因为在实际中我们的数据都是存储在数据库中,用户注册的时候把注册信息存在数据库中,在登录的时候直接访问数据库进行下一步操作.那么如何在python3 中进行mysql数据库操作呢?

python3连接mysql

在python中使用mysql,需要使用一个第三方模块,这个模块就是PYMySQL,在使用的时候调用这个模块就行,在python2中则是使用mysqldb,在Django中也是使用pymsql连接mysql数据库.

安装pymsql

在使用pymsql的之前,我们需要知道在python的IDE中没有这个库,需要我们自己安装,安装非常的简单,只需要打开电脑的终端,然后输入下列代码就行:

pip install pymysql

这样pymysql就已经安装好了在python的IDE中再导入一下就行.

连接数据库

注意事项

在连接数据库的时候我们需要注意几个问题,这也是使用数据库的前提

拥有一个mysql数据库,这个数据库可以是本地的也可以是其他地方的,但是必须要有.

你有可以连接该数据库的用户名和密码,在数据库里你得获得授权.

你有一个有权限操作的库

基本使用

1. 导入pymysql模块

和其他模块的导入一样,我们需要导入下pymsql这个模块,导入的语句如下:

import pymsql

2. 链接数据库

再导入完之后我们就需要开始连接mysql数据库:

conn = pymsql.connect(host='你的数据库的地址',

user='用户名',

password='密码',

database='数据库名',

charset='utf8')

到此你就登录了你要登录的数据库了,在这有个重要的事!!! utf8!utf8!utf8! 重要的事情说三遍,记住不带-.带-就错了.

3. 获得光标对象

我们登录后要操作mysql数据库,我们需要得到一个可以执行sql语句的光标对象,就像在终端上一样需要有个定位.

cursor = conn.cursor()

4. 执行sql语句

获得光标后,我们需要开始执行SQL语句.

cursor.execute('select * from userinfo;')

这个是默认返回元组类型的数据.

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

返回的是字典类型的数据

5.提交

在执行完sql语句之后,我们需要提交,数据才会保存到数据库

conn.commit()

6.回滚

在执行增删改操作时,如果不想提交前面的操作,可以使用 rollback() 回滚取消操作.

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "DSB"

age = 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

7.关闭

关闭光标对象

cursor.close()

关闭连接

conn.close()

增删改查操作

在pymysql模块下对数据库进行增删改查也是可以的.同在终端对数据库增删改查一样.

在pymsql模块中,我们连接好了数据库,就可以对数据库里边的表进行增加操作了.

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "DSB"

age = 18

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

cursor.close()

conn.close()

其中,%s是占位符.如果数据输入有误就用回滚取消操作,在操作完之后获取插入数据的ID

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

username = "DSB"

age = 18

try:

# 执行SQL语句

cursor.execute(sql, [username, age])

# 提交事务

conn.commit()

# 提交之后,获取刚插入的数据的ID

last_id = cursor.lastrowid

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

sql = "DELETE FROM USER1 WHERE id=%s;"

try:

cursor.execute(sql, [4])

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 修改数据的SQL语句

sql = "UPDATE USER1 SET age=%s WHERE name=%s;"

username = "Alex"

age = 80

try:

# 执行SQL语句

cursor.execute(sql, [age, username])

# 提交事务

conn.commit()

except Exception as e:

# 有异常,回滚事务

conn.rollback()

cursor.close()

conn.close()

1. 查询单条数据

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 查询数据的SQL语句

sql = "SELECT id,name,age from USER1 WHERE id=1;"

# 执行SQL语句

cursor.execute(sql)

# 获取单条查询数据

ret = cursor.fetchone()

cursor.close()

conn.close()

# 打印下查询结果

print(ret)

2. 查询多条数据

# 导入pymysql模块

import pymysql

# 连接database

conn = pymysql.connect(host=“你的数据库地址”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

# 得到一个可以执行SQL语句的光标对象

cursor = conn.cursor()

# 查询数据的SQL语句

sql = "SELECT id,name,age from USER1;"

# 执行SQL语句

cursor.execute(sql)

# 获取多条查询数据

ret = cursor.fetchall()

cursor.close()

conn.close()

# 打印下查询结果

print(ret)

查询时移动光标

1. 可以获取指定数量的数据

cursor.fetchmany(3)

2. 光标按绝对位置移动1

cursor.scroll(1, mode="absolute")

3. 光标按照相对位置(当前位置)移动1

cursor.scroll(1, mode="relative")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值