PySQL
PySQL旨在完全替代sqlplus(还有更多)。它具有历史,完成和行编辑等功能。它具有高级功能(搜索表,索引,计数,说明计划,会话列表等),为屏幕和文件提供适当的输出(CSV可以包含在电子表格中),支持用户定义的SQL,后台查询,模式数据模型,对象依赖项,PL / SQL包函数调用树的图形输出,等等。
Python使用pysql连接数据库
1.导包
import pymysql
2.连接数据库
connection = pymysql.connect(
host='', # 数据库地址
user='', # 数据库用户名
password='', # 数据库密码
db='', # 数据库名称
# charset = 'utf8 -- UTF-8 Unicode'
)
3.创建游标
cursor = connection.cursor()
4.数据操作
- 查询
#SQL语句
sql = 'select * from user'
#execute执行操作
cursor.execute(sql)
result = cursor.fetchall()
print(type(result),cursor.rowcount)
print(result)
fetchall 查询时获取结果集中的所有行,一行构成一个元组,然后再将这些元组返回(即嵌套元组)。
ferchone 查询时获取结果集的第一行数据,返回一个元组,该元组元素即为第一行数据,如果没有则为null(注:在python中使用应为None)
execute 为单条数据插入
executemany 批量数据插入
cursor.rowcount 用来记录操作次数
- 插入(批量插入)
#插入SQL语句
sql = 'insert into user(username,sex,password,pid,tel) values (%s,%s,%s,%s,%s)'
#插入数据
data = [
('test1', '男', '123456', 3, '110'),
('test2', '女', '123456', 2, '120'),
]
#拼接并执行SQL语句
cursor.executemany(sql,data)
#涉及写操作要提交
connection.commit()
print(cursor.rowcount)
不管数据库中的数据类型是什么,在sql语句中统一使用字符串类型%s connection.commit() 涉及写操作要提交
- 修改
#修改SQL语句
sql = 'update user set tel="12345622" where id="64"'
#执行SQL语句
cursor.execute(sql)
connection.commit()
print(cursor.rowcount)
- 删除
#删除SQL语句
sql = 'delete from user where id = 64'
cursor.execute(sql)
connection.commit()
print(cursor.rowcount)
关闭
#关闭游标
cursor.close()
#关闭连接
connection.close()