1、pymysql链接数据库相关参数: conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='root', db='smbms')
def __init__(self,*,user=None, password="", host=None, database=None, unix_socket=None,port=0,charset="",collation=None,sql_mode=None,read_default_file=None,conv=None,use_unicode=True,client_flag=0,cursorclass=Cursor,init_command=None,connect_timeout=10,read_default_group=None,autocommit=False,local_infile=False,max_allowed_packet=16 * 1024 * 1024,defer_connect=False,auth_plugin_map=None,read_timeout=None,write_timeout=None,bind_address=None,binary_prefix=False,program_name=None,server_public_key=None,ssl=None,ssl_ca=None,ssl_cert=None,ssl_disabled=None,ssl_key=None,ssl_verify_cert=None,ssl_verify_identity=None,compress=None,  # not supportednamed_pipe=None,  # not supportedpasswd=None,  # deprecateddb=None,  # deprecated
):参数说明:
-  host- 数据库服务器所在的主机
-  user- 登录的用户名
-  password- 要使用的密码。
-  database- 要使用的数据库,None不使用特定的数据库。
-  port- 要使用的MySQL端口,默认通常都可以。(默认值:3306)
-  bind_address- 当客户端具有多个网络接口时,请指定从中连接到主机的接口。参数可以是主机名或IP地址。
-  unix_socket- 您可以选择使用unix套接字而不是TCP / IP。
-  read_timeout- 以秒为单位读取连接的超时(默认值:无 - 无超时)
-  write_timeout- 以秒为单位写入连接的超时(默认值:无 - 无超时)
-  charset- 你要使用的Charset。
-  sql_mode- 要使用的默认SQL_MODE。
-  read_default_file- 指定my.cnf文件以从[client]部分下读取这些参数。
-  conv- 使用转换字典而不是默认字典。这用于提供类型的自定义编组和解组。见转换器。
-  use_unicode- 是否默认为unicode字符串。对于Py3k,此选项默认为true。
-  client_flag- 要发送给MySQL的自定义标志。在constants.CLIENT中查找潜在值。
-  cursorclass- 要使用的自定义游标类。
-  init_command- 建立连接时要运行的初始SQL语句。
-  connect_timeout- 连接时抛出异常之前的超时。(默认值:10,最小值:1,最大值:31536000)
-  ssl- 类似于mysql_ssl_set()参数的参数的dict。
-  read_default_group- 要在配置文件中读取的组。
-  named_pipe- 不支持
-  autocommit- 自动提交模式。无表示使用服务器默认值。(默认值:False)
-  local_infile- 允许使用LOAD DATA LOCAL命令的布尔值。(默认值:False)
-  max_allowed_packet- 发送到服务器的最大数据包大小(以字节为单位)。(默认值:16MB)仅用于限制小于默认值(16KB)的LOAD LOCAL INFILE数据包的大小。
-  defer_connect- 不要在构造上显式连接 - 等待连接调用。(默认值:False)
-  auth_plugin_map- 插件名称的一个字典,用于处理该插件的类。该类将Connection对象作为构造函数的参数。该类需要一个认证方法,将认证包作为参数。对于对话框插件,可以使用提示(echo,prompt)方法(如果没有authenticate方法)从用户返回字符串。(实验)
-  server_public_key- SHA256身份验证插件公钥值。(默认:无)
-  db- 数据库的别名。(与MySQLdb兼容)
-  passwd- 密码的别名。(与MySQLdb兼容)
-  binary_prefix- 在字节和bytearray上添加_binary前缀。(默认值:False)
2、相关方法:
-  begin()开始事物。
-  close()发送退出消息并关闭套接字。请参阅 规范中的Connection.close()
-  commit()提交更改为稳定存储。请参阅 规范中的Connection.commit()
-  cursor(cursor = None)创建一个新游标以执行查询。常用的游标类型如下:-  Cursor:使用此游标类,返回结果为元组类型。 
-  DictCursor:使用此游标类,返回结果为字典类型。 
-  SSCursor:使用此游标类,返回结果为元组类型。不缓存结果,适合处理大量数据,但对于内存敏感的应用,对性能的影响较大。 
-  SSDictCursor:使用此游标类,返回结果为字典类型。不缓存结果,适合处理大量数据,但对于内存敏感的应用,对性能的影响较大。 
 -  其中, Cursor和DictCursor是最常用的两种游标类。
-  使用 Cursor游标类,返回的结果为元组类型,每个元组表示一行数据;
-  使用 DictCursor游标类,返回结果为字典类型,以字典的形式表示每行数据,字典的键是列名,值是对应的值。
-  SSCursor和SSDictCursor则是无缓存的游标类,适合处理大量数据,但对内存敏感的应用不友好,也不支持fetchmany()和scroll()方法。
 
-  
-  open如果连接打开,则返回True
-  ping(reconnect = True)检查服务器是否处于活动状态。参数:重新连接 - 如果连接已关闭,请重新连接。rollback()回滚当前事务。请参阅 规范中的Connection.rollback()。
-  select_db(db )设置当前数据库。参数:db - 数据库的名称。
-  show_warnings()发送SHOW WARNINGSSQL命令。
3、代码如下所示:
import pymysql
def getInfo():# 创建sql链接conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='root', db='smbms')# 创建游标 返回数据为元组形式cursor = conn.cursor(pymysql.cursors.DictCursor)# 执行sql语句cursor.execute('select * from smbms_user')# 返回所有数据rows = cursor.fetchall()# 返回一行数据row = cursor.fetchone()# 提交事务conn.commit()# 关闭资源cursor.close()conn.close()print(rows)print(row)
if __name__ == "__main__":getInfo()