Bagaimana untuk menggunakan penyambung Python untuk menyemak sama ada jadual/pangkalan data dalam MySQL sudah wujud?
P粉242535777
P粉242535777 2023-08-28 13:31:54
0
1
509
<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>
P粉242535777
P粉242535777

membalas semua(1)
P粉757432491

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:

SHOW tables 
WHERE Tables_in_test ='triangle';
+----------------+
| Tables_in_test |
+----------------+
| triangle       |
+----------------+

Anda perlu mengubah suai nama lajur agar sepadan dengan pangkalan data anda.

Tables_in_[database_name]
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan