在Python中,你可以使用以下方法来判断数据库中的表是否存在:
1. 使用`pymysql`库的`table_exists`函数。
2. 使用`sqlite3`库的`check_tables_exist`函数。
```python
import pymysql
def table_exists(con, table_name):
sql = "show tables"
con.execute(sql)
tables = con.fetchall()
table_list = [re.sub(' ', '', each) for each in tables]
return table_name in table_list
连接数据库
conn = pymysql.connect(
host='127.0.0.1',
user='root',
password='password',
db='MYSQL',
port=3306,
charset='utf8'
)
检查表是否存在
table_name = 'animal'
if table_exists(conn, table_name) != 1:
print('表不存在,可以添加一张')
else:
print('表存在')
关闭连接
conn.close()
如果你使用的是SQLite数据库,可以使用以下代码:
```python
import sqlite3
def check_tables_exist(database_name):
conn = sqlite3.connect(database_name)
cursor = conn.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
tables = cursor.fetchall()
return [table for table in tables]
连接数据库
database_name = 'your_database.db'
tables = check_tables_exist(database_name)
检查表是否存在
table_name = 'your_table_name'
if table_name not in tables:
print('表不存在,可以添加一张')
else:
print('表存在')
关闭连接
conn.close()