import pymysql
from sqlalchemy import create_engine
import pandas as pd
import re
def engine_mysql():
connect_mysql = create_engine('mysql+pymysql://username:password@127.0.0.1:3306/dbname?charset=utf8')
return connect_mysql
def main(table):
mysql_engine=engine_mysql()
sql = 'show create table {};'.format(table)
df = pd.read_sql_query(sql,mysql_engine)
df.columns = [i.lower() for i in df.columns]
mysql_engine.dispose()
crt =df['create table'].iloc[-1]
pat = re.compile(r"(?=\bPRIMARY KEY\b)(.*)(?<=,)")
result = pat.findall(crt)
return result
if __name__=='__main__':
table ='table_name'
print(main(table))
方便快速找到某个表的primary key, 如果要查多个表, 写个for循环,每次传入表名调用main函数即可