Python操作MySQL数据库

看了几篇博客,难道是打开姿势不对?总是感觉不是很懂,于是自己再总结一下。

更新中。。。

初始化

运行环境

  • pycharm 2020
  • python 3.7

需要使用pip install pymysql安装

连接

1
2
3
4
5
6
7
8
9
import pymysql # 导入pymysql模块

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

相关参数及解释
参数 | 解释
————- | ————-
host | 数据库服务器地址,默认 localhost
user | 用户名,默认为当前程序运行用户
password | 登录密码,默认为空字符串
database | 默认操作的数据库
port| 数据库端口,默认为 3306
bind_address| 当客户端有多个网络接口时,指定连接到主机的接口。参数可以是主机名或IP地址。
unix_socket unix| 套接字地址,区别于 host 连接
read_timeout| 读取数据超时时间,单位秒,默认无限制
write_timeout |写入数据超时时间,单位秒,默认无限制
charset |数据库编码
sql_mode |指定默认的 SQL_MODE
read_default_file | 指定my.cnf文件以从[client]部分下读取这些参数。
conv | 用来代替默认的转换字典。这是用来提供自定义的类型的marshallingunmaraling
use_unicode | 是否默认使用unicode字符串。对于Py3k来说,这个选项默认为true。
client_flag | 自定义标志发送到MySQL。在constants.CLIENT中找到可能的值。
cursorclass | 设置默认的游标类型
init_command | 当连接建立完成之后执行的初始化 SQL 语句
connect_timeout| 连接超时时间,默认 10,最小 1,最大 31536000
ssl | 类似于mysql_ssl_set()参数的dict参数。目前不支持capath和cipher参数。
read_default_group | 要从配置文件中读取的Group。
compress |Not supported
named_pipe| Not supported
autocommit |是否自动提交,默认不自动提交,参数值为 None 表示以服务器为准
local_infile| 启用LOAD DATA LOCAL命令的布尔值。(默认:False)
max_allowed_packet| 发送给服务器的最大数据量,默认为 16MB
defer_connect| 是否惰性连接,默认为立即连接
auth_plugin_map |一个处理该插件的类的插件名称口令。该类将把Connection对象作为构造函数的参数。该类需要一个authenticate方法,以一个认证包作为参数。对于对话插件,可以使用 prompt(echo,prompt)方法(如果没有 authenticate method)从用户那里返回一个字符串。(实验性的)
server_public_key | SHA256 authenticaiton插件公钥值。(默认:None)
db| 参数 database 的别名
passwd |参数 password 的别名
binary_prefix | 在字节和字节数组上添加_binary前缀。(默认:False)

参考文章