이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!