Python コネクタを使用して MySQL のテーブル/データベースがすでに存在するかどうかを確認するにはどうすればよいですか?
P粉242535777
2023-08-28 13:31:54
<p>そこで、データベース名、テーブル名、テーブル構造(列名)、データなど、すべてについてユーザーからの入力を受け取り、それに対してさまざまな追加、削除、更新などを実行するプログラムを作成したいと考えています。機能。しかし、ユーザーが入力したテーブル/データベースがすでに存在するかどうかを確認することはできません。次のコードを試してみました: </p>
<pre class="brush:php;toolbar:false;">def create_table():
table_in_database=input('このテーブルを作成するデータベースの名前を入力してください:')
x=mysql.connect(host=ホスト名、user=ユーザー名、パスワード=ユーザーパスワード、データベース=データベース内のテーブル)
y=x.cursor()
y.fetchall() の table_in_database の場合:
name_table=input('作成するテーブルの名前を入力してください:')
y.fetchall() の name_table の場合:
print('テーブルはすでに存在します。別の名前を試すか、既存のテーブルを使用してください')
それ以外:
table_struction=tuple(input('テーブルの構造/行名をカンマで区切って入力してください:'))
y.execute('テーブルの作成 ' テーブル名 ' テーブル構造 ')
print('テーブル', name_table, '正常に作成されました')
x.commit()
それ以外:
print('database', table_in_database, '存在しません')</pre>
<p>しかし、 y.fetchall() の実行に失敗するので、 y.fetchall() を使用する代わりにすべてのデータベースを表示する別の関数 show_database() を使用しようとしましたが、NoneType エラーが発生しました。テーブル/データベースが存在するかどうかを確認する方法はありますか? </p>
データベースに接続してクエリ
リーリーSHOW TABLES;
を実行すると、そのデータベース内のすべてのテーブルのリストが返されます。条件を使用してより正確に検索できます:
データベースに合わせて列名を変更する必要があります。
リーリー