标签:执行sql pass port 获取 err logging parser username innodb
python 3.X连接mysql
python 2.X连接mysql使用的是MySQLdb模块,但是在python 3.X中,MySQLdb还不支持,所以如果在3.X版本中需要使用pymysql模块。
pymysql的具体方法如下:
pymysql.Connect()参数说明 host(str): MySQL服务器地址 port(int): MySQL服务器端口号 user(str): 用户名 passwd(str): 密码 db(str): 数据库名称 charset(str): 连接编码 connection对象支持的方法 cursor() 使用该连接创建并返回游标 commit() 提交当前事务 rollback() 回滚当前事务 close() 关闭连接 cursor对象支持的方法 execute(op) 执行一个数据库的查询命令 fetchone() 取得结果集的下一行 fetchmany(size) 获取结果集的下几行 fetchall() 获取结果集中的所有行 rowcount() 返回数据条数或影响行数 close() 关闭游标对象
1.在连接mysql前,先创建测试表:
create table users( id int primary key auto_increment COMMENT ‘主键自增‘, username VARCHAR(255) comment ‘用户名‘, passwd VARCHAR(255) COMMENT ‘密码‘ )ENGINE=INNODB charset=utf8
2.准备配置文件:
[mysql] host = localhost user = root passwd = root database = python
3.获取mysql连接信息:
import pymysql import configparser import logging.config conf = configparser.ConfigParser() conf.read("prod.conf") # 获取 mysql 连接信息 host = conf.get("mysql", "host") user = conf.get("mysql", "user") passwd = conf.get("mysql", "passwd") database = conf.get("mysql", "database")
4.编写连接方法:
def mysqlConnection(): try: connect = pymysql.connect(host, user, passwd, database) logging.debug("成功连接mysql") return connect except Exception as e: logging.error(repr(e)) return None
5.main方法中执行sql:
if __name__ == ‘__main__‘:
# 连接
conn = mysqlConnection()
# 获取游标
cursor = conn.cursor()
sql = ‘insert into users(username,passwd) values("zhangsan","123456")‘
cursor.execute(sql)
conn.commit()
print("成功插入数据库")
# 关闭连接
conn.close()
6.运行之后查看数据库
7.测试其他的方法:
8.完整代码:
import pymysql import configparser import logging.config conf = configparser.ConfigParser() conf.read("prod.conf") # 获取 mysql 连接信息 host = conf.get("mysql", "host") user = conf.get("mysql", "user") passwd = conf.get("mysql", "passwd") database = conf.get("mysql", "database") def mysqlConnection(): try: connect = pymysql.connect(host, user, passwd, database) logging.debug("成功连接mysql") return connect except Exception as e: logging.error(repr(e)) return None if __name__ == ‘__main__‘: # 连接 conn = mysqlConnection() # 获取游标 cursor = conn.cursor() """ sql = ‘insert into users(username,passwd) values("zhangsan","123456")‘ cursor.execute(sql) conn.commit() print("成功插入数据库") """ sql2 = ‘select * from users‘ cursor.execute(sql2) print("表中共有数据:" + str(cursor.rowcount) + " 条") result = cursor.fetchall() print(result) # 关闭连接 conn.close()
标签:执行sql pass port 获取 err logging parser username innodb
原文地址:https://www.cnblogs.com/tianyafu/p/9828397.html