Bagaimana untuk menggunakan penyambung Python untuk menyemak sama ada jadual/pangkalan data dalam MySQL sudah wujud?
P粉242535777
2023-08-28 13:31:54
<p>Jadi, saya ingin mencipta program yang akan mengambil input daripada pengguna tentang segala-galanya, iaitu nama pangkalan data, nama jadual, struktur jadual (nama lajur), data dan kemudian melakukan pelbagai tambah, padam, kemas kini padanya dan lain-lain fungsi. Tetapi saya tidak dapat menyemak sama ada jadual/pangkalan data yang dimasukkan oleh pengguna sudah wujud. Saya mencuba kod berikut: </p>
<pre class="brush:php;toolbar:false;">def create_table():
table_in_database=input('Sila masukkan nama pangkalan data yang anda ingin buat jadual ini:')
x=mysql.connect(host=host_name, user=user_name,password=user_password,database=table_in_database)
y=x.kursor()
jika table_in_database dalam y.fetchall():
name_table=input('Sila masukkan nama jadual yang akan dibuat:')
jika name_table dalam y.fetchall():
print('Jadual sudah wujud, sila cuba nama lain atau gunakan jadual sedia ada')
lain:
table_structure=tuple(input('Sila masukkan nama struktur/baris jadual (dipisahkan dengan koma):'))
y.execute('create table '+name_table+''+table_structure+'')
print('jadual', nama_jadual, 'berjaya dibuat')
x.commit()
lain:
print('pangkalan data', table_in_database, 'tidak wujud')</pre>
<p>Tetapi ia gagal melakukan y.fetchall(), jadi saya juga cuba menggunakan fungsi show_database() yang berbeza yang menunjukkan semua pangkalan data dan bukannya menggunakan y.fetchall(), tetapi kemudian saya mendapat ralat NoneType. Adakah terdapat cara untuk menyemak sama ada jadual/pangkalan data wujud? </p>
Jika anda menyambung ke pangkalan data dan menjalankan pertanyaan
SHOW TABLES;
ia akan mengembalikan senarai semua jadual dalam pangkalan data itu.Anda boleh menggunakan kriteria untuk memperhalusi carian anda:
Anda perlu mengubah suai nama lajur agar sepadan dengan pangkalan data anda.