获取 MySQL 中所有表的列名的最后一条记录
Get last record with column names of all the tables in MySQL
有什么方法可以获取所有 table 的最新值及其列名,而不是 select 每个 table。我遇到了以下 select 查询,但它只有 returns 列名,如果我使用 * 而不是 column_name,就会有很多我不需要的不必要的细节。
SELECT column_name
FROM information_schema.columns
where table_schema = 'classicmodels'
order by table_name, ordinal_position
我只需要该列中包含最新记录的列名。
我可以使用 phyton sql 连接器读取所有表格的最新记录。可能有更好的方法来做到这一点,但因为我不允许在 运行 数据库中工作,所以我选择了这种方法。
import logging
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
port=3306,
user="root",
password="root",
database="classicmodels")
mycursor = mydb.cursor(buffered=True , dictionary=True)
sql = "SELECT * FROM information_schema.tables where table_schema = 'classicmodels'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
tables = [d['TABLE_NAME'] for d in myresult]
for x in tables:
sql1 = "select * from {}".format(x)
mycursor.execute(sql1)
myresult1 = mycursor.fetchone()
for val, cal in myresult1.items():
print(f'{val} is {cal}')
有什么方法可以获取所有 table 的最新值及其列名,而不是 select 每个 table。我遇到了以下 select 查询,但它只有 returns 列名,如果我使用 * 而不是 column_name,就会有很多我不需要的不必要的细节。
SELECT column_name
FROM information_schema.columns
where table_schema = 'classicmodels'
order by table_name, ordinal_position
我只需要该列中包含最新记录的列名。
我可以使用 phyton sql 连接器读取所有表格的最新记录。可能有更好的方法来做到这一点,但因为我不允许在 运行 数据库中工作,所以我选择了这种方法。
import logging
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
port=3306,
user="root",
password="root",
database="classicmodels")
mycursor = mydb.cursor(buffered=True , dictionary=True)
sql = "SELECT * FROM information_schema.tables where table_schema = 'classicmodels'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
tables = [d['TABLE_NAME'] for d in myresult]
for x in tables:
sql1 = "select * from {}".format(x)
mycursor.execute(sql1)
myresult1 = mycursor.fetchone()
for val, cal in myresult1.items():
print(f'{val} is {cal}')