mysql-connector 是 MySQL 官方提供的驱动器,如果没有安装先用pip命令来下载安装:
连接数据库(如果出现了“authentication plugin ‘calling_sha2_password’ is not supported.”的错误提示,查看解决这个问题的文章,链接:http://www.manongjc.com/detail/8-bwieltjwtkibnaf.html)
- 连接数据库,如连接到名为gigixuexi的数据库
import pymysql
conn = pymysql.connect(
host='localhost',
user='root',
password='123',
db='gigixuexi',
charset='utf8',)
- 创建游标对象,
cur = conn.cursor()
3.基本操作:增、删、改、查
#1、创建数据表gigi
try:
create_sqli = "create table gigi (id int, name varchar(30));"
cur.execute(create_sqli)
except Exception as e:
print("创建数据表失败:", e)
else:
print("创建数据表成功;")
结果显示:
到数据库查看表是否真的存在
#2、插入数据
try:
insert_sqli = "insert into gigi values(2, 'plana');"
cur.execute(insert_sqli)
except Exception as e:
print("插入数据失败:", e)
else:
# 如果是插入数据, 一定要提交数据, 不然数据库中找不到要插入的数据;
conn.commit()
print("插入数据成功;")
#3、插入多条数据
try:
info = [(i, "westos%s" %(i)) for i in range(100)]
insert_sqli = "insert into gigi values(%s, %s);"
cur.executemany(insert_sqli, info )
except Exception as e:
print("插入多条数据失败:", e)
else:
# 如果是插入数据, 一定要提交数据, 不然数据库中找不到要插入的数据;
conn.commit()
print("插入多条数据成功;")
#数据库查询
sqli = "select * from gigi;"
result = cur.execute(sqli) # 默认不返回查询结果集, 返回数据记录数。
print(result)
print(cur.fetchone()) # 1). 获取下一个查询结果集;
print(cur.fetchone())
print(cur.fetchone())
print(cur.fetchmany(5)) # 2). 获取指定个数的查询结果集;
info = cur.fetchall() # 3). 获取所有的查询结果
print(info)
print(len(info))
print(cur.rowcount) # 4). 返回执行sql语句影响的行数
最后关闭连接
# 关闭连接
conn.close()
查询结果: