Rumah > Artikel > pangkalan data > Kod Python yang memasukkan sejumlah besar rekod ke dalam jadual MySQL.
Kod Python ini mencipta jadual MySQL bernama my_table dengan nama lajur, umur dan bandar.
Ia kemudian memasukkan 1 juta rekod ke dalam jadual dengan data rawak untuk tujuan demonstrasi.
import mysql.connector import random # Database configuration db_config = { 'host': '127.0.0.1', 'port': 3309, 'user': 'my_user', 'password': 'my_password', 'database': 'my_database' } # Function to create connection and insert records def insert_records(num_records): try: connection = mysql.connector.connect(**db_config) cursor = connection.cursor() for i in range(num_records): # Generate random data for demonstration name = f'Name{i}' age = random.randint(18, 80) city = f'City{i % 100}' # Only 100 cities for simplicity # Insert record into the table cursor.execute("INSERT INTO my_table (name, age, city) VALUES (%s, %s, %s)", (name, age, city)) connection.commit() print(f"{num_records} records inserted successfully") except mysql.connector.Error as error: print("Error inserting records:", error) finally: if connection.is_connected(): cursor.close() connection.close() # Number of records to insert num_records = 1000000 # Inserting 1 million records # Create table if not exists create_table_query = ''' CREATE TABLE IF NOT EXISTS my_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT, city VARCHAR(255) ) ''' try: connection = mysql.connector.connect(**db_config) cursor = connection.cursor() cursor.execute(create_table_query) print("Table 'my_table' created successfully") except mysql.connector.Error as error: print("Error creating table:", error) finally: if connection.is_connected(): cursor.close() connection.close() # Insert records insert_records(num_records)
Sebelum menjalankan kod ini, pastikan anda mentakrifkan
‘hos’: ‘127.0.0.1’,
‘port’: 3309,
‘pengguna’: ‘pengguna_saya’,
‘kata laluan’: ‘kata laluan_saya’,
'pangkalan data': 'pangkalan data_saya'
dengan bukti kelayakan MySQL dan nama pangkalan data anda yang sebenar.
Selain itu, pastikan pakej mysql-connector-python dipasang
pip pasang mysql-connector-python
dmi@dmi-laptop:~/my_mysql_postgres$ pip install mysql-connector-python Defaulting to user installation because normal site-packages is not writeable Collecting mysql-connector-python Downloading mysql_connector_python-8.4.0-cp310-cp310-manylinux_2_17_x86_64.whl (19.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.4/19.4 MB 3.8 MB/s eta 0:00:00 Installing collected packages: mysql-connector-python Successfully installed mysql-connector-python-8.4.0
Contoh:
mysql> select count(1) from my_table; +----------+ | count(1) | +----------+ | 1000000 | +----------+ 1 row in set (0.05 sec) mysql> mysql> select * from my_table limit 10; +----+-------+------+-------+ | id | name | age | city | +----+-------+------+-------+ | 1 | Name0 | 38 | City0 | | 2 | Name1 | 49 | City1 | | 3 | Name2 | 27 | City2 | | 4 | Name3 | 64 | City3 | | 5 | Name4 | 19 | City4 | | 6 | Name5 | 63 | City5 | | 7 | Name6 | 36 | City6 | | 8 | Name7 | 42 | City7 | | 9 | Name8 | 51 | City8 | | 10 | Name9 | 54 | City9 | +----+-------+------+-------+ 10 rows in set (0.01 sec) mysql>
ask_dima@yahoo.com
Atas ialah kandungan terperinci Kod Python yang memasukkan sejumlah besar rekod ke dalam jadual MySQL.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!