How to retrieve table names in a mysql database with Python and MySQLdb?
- Question by Richard
- Answer by Milovan Tomašević
Question by Richard
I have an SQL database and am wondering what command you use to just get a list of the table names within that database.
Answer by Milovan Tomašević
It is also possible to obtain tables from a specific scheme with execute the single query with the driver below.
python3 -m pip install PyMySQL
import pymysql # Connect to the database conn = pymysql.connect(host='127.0.0.1',user='root',passwd='root',db='my_database') # Create a Cursor object cur = conn.cursor() # Execute the query: To get the name of the tables from a specific database # replace only the my_database with the name of your database cur.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'my_database'") # Read and print tables for table in [tables for tables in cur.fetchall()]: print(table)
my_table_name_1 my_table_name_2 my_table_name_3 ... my_table_name_x