Python2 中则使用 mysqldb
=============================================================================
首先要安装这个模块:
pip install pymysql
检查一下是否安装成功:
pip show pymysql
================================================================================
import pymysql
# 创建数据库连接
conn = pymysql.connect(
host = '127.0.0.1', # 连接主机, 默认127.0.0.1
user = 'root', # 用户名
passwd = '1234',# 密码
port = 3306, # 端口,默认为3306
db = 'test', # 数据库名称
charset = 'utf8' # 字符编码
)
# 生成游标对象 cursor
cursor = conn.cursor()
# 查询数据库版本
cursor.execute("select version()") # 返回值是查询到的数据数量
# 通过 fetchall方法获得数据
data = cursor.fetchone()
print("Database Version:%s" % data)
cursor.close() # 关闭游标
conn.close() # 关闭连接
=================================================================================
由于连接数据库时需要填要连接的数据库名,所以创建数据库只能做到:删除已经存在的数据库,再重新创建,相当于 清空数据库 的作用。
# 创建数据库 test
cursor.execute("drop database if exists test") #如果数据库已经存在,那么删除后重新创建
sql = "create database test"
cursor.execute(sql)
========================================================================
# 创建数据表
cursor.execute("drop table if exists employee") # 如果数据表已经存在,那么删除后重新创建
sql = """
CREATE TABLE employee (
id VARCHAR(20) NOT NULL,
name VARCHAR(20),
age INT,
income FLOAT
)
"""
cursor.execute(sql)
=======================================================================
# 数据库插入数据
sql = "INSERT INTO employee VALUES ('1', '张三', 20, 5000)"
try:
cursor.execute(sql)
# 提交当前游标的全部操作
conn.commit()
except:
print("expection!")
conn.rollback()
# 查看更新后的结果
sql = "SELECT* FROM employee"
cursor.execute(sql)
data = cursor.fetchall()
print(data)
=======================================================================
只查询出一条数据:cursor.fetchone()
sql = "SELECT* FROM employee"
cursor.execute(sql) # 返回值是查询到的数据数量
data = cursor.fetchone() # 查询一条数据
print(data)
查询数据库中所有数据:cursor.fetchall()
# 数据库查询数据
sql = "SELECT * FROM employee"
cursor.execute(sql) # 返回值是查询到的数据数量
data = cursor.fetchall() # 查询一条数据
print(data)
查询指定条件的数据:查询满足条件 income > 5000
的数据。
# 查询指定条件的数据
sql = " SELECT * FROM employee WHERE income > '%d' " % (5000)
cursor.execute(sql) # 返回值是查询到的数据数量
data = cursor.fetchone()
print(data)
=======================================================================
# 更新数据库
sql = " UPDATE employee SET age = age + 1 WHERE age < '%d' " % (25)
try:
cursor.execute(sql)
conn.commit()
except:
print("expection!")
conn.rollback()
# 查看更新后的结果
sql = "SELECT* FROM employee"
cursor.execute(sql)
data = cursor.fetchall()
print(data)
=======================================================================
# 删除数据
sql = "DELETE FROM employee WHERE age > '%d' " % (30)
try:
cursor.execute(sql)
conn.commit()
except:
print("exce[tion!")
conn.rollback()
#查看更新后的结果
sql = "select * from employee"
cursor.execute(sql)
data = cursor.fetchone()
print(data)
=======================================================================
保证数据库中有 test
表:
import pymysql
import traceback
from time import sleep
class PyMySQL(object):
create_table = """
CREATE TABLE stu (
id INT not null PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
age INT,
sex VARCHAR(255)
) DEFAULT CHARSET = utf8
"""
select = 'SELECT * FROM stu'
# 最后
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**[点赞后点击这里免费下载文章资料!](https://gitee.com/vip204888/java-p7)**
![](https://img-blog.csdnimg.cn/img_convert/b4d05fe6c4e6c4644885b688cc4b83d8.png)
![](https://img-blog.csdnimg.cn/img_convert/f60c07bf77518209bac3e83d62417a5e.png)
![](https://img-blog.csdnimg.cn/img_convert/fc5eead9998a8146314eba0c437ed046.png)
age INT,
sex VARCHAR(255)
) DEFAULT CHARSET = utf8
"""
select = 'SELECT * FROM stu'
# 最后
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**[点赞后点击这里免费下载文章资料!](https://gitee.com/vip204888/java-p7)**
[外链图片转存中...(img-6VSfjPca-1628508989816)]
[外链图片转存中...(img-ZBhPLh04-1628508989819)]
[外链图片转存中...(img-GvQB3OiA-1628508989821)]
![](https://img-blog.csdnimg.cn/img_convert/5a568e0c1fe5600ca346b47e41b0d816.png)