How to retrieve table names in a mysql database with Python and MySQLdb?
-
30-09-2019 - |
Question
I have an SQL database and am wondering what command you use to just get a list of the table names within that database.
Solution
SHOW tables
15 chars
OTHER TIPS
To be a bit more complete:
import MySQLdb
connection = MySQLdb.connect(
host = 'localhost',
user = 'myself',
passwd = 'mysecret') # create the connection
cursor = connection.cursor() # get the cursor
cursor.execute("USE mydatabase") # select the database
cursor.execute("SHOW TABLES") # execute 'SHOW TABLES' (but data is not returned)
now there are two options:
tables = cursor.fetchall() # return data from last query
or iterate over the cursor:
for (table_name,) in cursor:
print(table_name)
show tables
will help. Here is the documentation.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow