其实只要几个关键语句就可以实现所有操作,1.连接,2执行SQL(无返回值--设置,新建等,有返回值查询),2关闭连接。
这是我写python里面的一些关键语句:
1、连接
[Python] 纯文本查看 复制代码 def connect(self):
self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.passwd, db=self.db,
charset=self.charset, local_infile=self.local_infile)
self.cur = self.conn.cursor()
if self.cur:
p_t('mysql连接成功')
else:
p_t('mysql连接失败')
2、执行SQL
1)无返回
[Python] 纯文本查看 复制代码 def cmd(self, commit=0, sql='', datebase=''):
if sql == '':
sql = self.sql
if datebase != '':
self.cur.execute('use %s;' % datebase)
# 设置编码格式
self.cur.execute('SET NAMES utf8mb4;')
self.cur.execute('SET FOREIGN_KEY_CHECKS = 0;')
# print(sql)
self.cur.execute(sql)
# p_t('执行 SQL:')
# p_t(sql, '黄', 1)
self.cur.execute('SET FOREIGN_KEY_CHECKS = 1;')
# print(self.cur.fetchone())
# print('--------------------------')
# print(self.cur.fetchall())
if commit == 1:
self.conn.commit()
# p_t('mysql提交:commit', '青', 1)
# 私有方执行自定义字典方法
def __cmd(self, dd, cmd=0):
sst = time.time()
self.cmd(cmd, dd['txt'])
p_t(dd['mean'] + ' | 运行时间长: %s 秒' % round((time.time() - sst), 2))
def execute(self, sql, commit: int = 0, msg: int = 1):
fh = self.cur.execute(sql)
if msg == 1:
print('影响行数: %s' % fh)
if commit == 1:
self.conn.commit()
2)有返回
[Python] 纯文本查看 复制代码 def fetchone(self, sql):
self.cur.execute(sql)
return self.cur.fetchone()
def fetchall(self, sql):
self.cur.execute(sql)
col = self.cur.description
fh = self.cur.fetchall()
return col, fh
3、关闭
[Python] 纯文本查看 复制代码 def close(self):
self.cur.close()
self.conn.close()
p_t('关闭mysql连接') |