在连接mysql数据库时,采用的是pymysql库
测试连接数据库
import pymysql
db = pymysql.connect(host="192.168.218.129",user="root",password="11111111",database="pymysql",port=3306)
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT version()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print( "Database version :{}".format(data))
# 关闭数据库连接
db.close()
执行结果如下
插入数据
python向数据库中插入数据分为纯文本插入和带有变量插入
1、纯文本插入
纯文本插入指的是整个插入语句中包含有需要插入的数据,下面的user表中有id,name,age桑属性,id是主键自增长,因此在插入数据时不用指定数据。
db = pymysql.connect(host="192.168.218.129",user="root",password="11111111",database="pymysql",port=3306)
cursor = db.cursor()
sql = '''
insert into user(name,age) values ("ff",43)
'''
cursor.execute(sql)
# 提交到数据库执行
db.commit()
db.close()
查看数据库
2、带有变量插入
带有变量插入只插入的数据保存在变量中,在插入语句中使用%s
作为占位符,在python中,无论是字符串还是整型类型的数据,都是使用%s
作为占位符
db = pymysql.connect(host="192.168.218.129",user="root",password="11111111",database="pymysql",port=3306)
cursor = db.cursor()
sql = '''
insert into user(name,age) values (%s,%s)
'''
name = "xiaofv"
age = 21
cursor.execute(sql,(name,age))
# 提交到数据库执行
db.commit()
db.close()
执行结果如下
数据库查找
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
- fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
- fetchall():接收全部的返回结果行.
- fetchmany(count):返回前count条数据
fetchone
db = pymysql.connect(host="192.168.218.129",user="root",password="11111111",database="pymysql",port=3306)
cursor = db.cursor()
sql = '''
select * from user
'''
name = "xiaofv"
age = 21
cursor.execute(sql)
# 提交到数据库执行
data = cursor.fetchone()
print(data)
db.close()
执行结果如下
关于其他两个这里就不再展示