此 Python 程式碼會建立一個名為 my_table 的 MySQL 表,其中包含名稱、年齡和城市欄位。
然後將 100 萬筆記錄插入帶有隨機資料的表中以進行演示。
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)
在運行此程式碼之前,請確保定義
‘主機’:‘127.0.0.1’,
‘端口’:3309,
‘用戶’:‘我的用戶’,
‘密碼’:‘我的密碼’,
‘資料庫’:‘我的資料庫’
使用您的實際 MySQL 憑證和資料庫名稱。
另外,請確保安裝了 mysql-connector-python 軟體包
pip install 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
範例:
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
以上是將大量記錄插入 MySQL 表的 Python 程式碼。的詳細內容。更多資訊請關注PHP中文網其他相關文章!