Heim > Datenbank > MySQL-Tutorial > Python-Code, der eine große Anzahl von Datensätzen in eine MySQL-Tabelle einfügt.

Python-Code, der eine große Anzahl von Datensätzen in eine MySQL-Tabelle einfügt.

WBOY
Freigeben: 2024-07-18 20:27:25
Original
469 Leute haben es durchsucht

Python code that inserts a large number of records into a MySQL table.

Dieser Python-Code erstellt eine MySQL-Tabelle mit dem Namen my_table mit den Spalten Name, Alter und Stadt.

Zu Demonstrationszwecken werden dann 1 Million Datensätze mit Zufallsdaten in die Tabelle eingefügt.

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)
Nach dem Login kopieren

Bevor Sie diesen Code ausführen, stellen Sie sicher, dass Sie
definieren „Host“: „127.0.0.1“,
‚Port‘: 3309,
„Benutzer“: „mein_Benutzer“,
„Passwort“: „mein_Passwort“,
„Datenbank“: „meine_Datenbank“
mit Ihren tatsächlichen MySQL-Anmeldeinformationen und Ihrem Datenbanknamen.

Stellen Sie außerdem sicher, dass das Paket mysql-connector-python installiert ist

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
Nach dem Login kopieren

Beispiel:

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> 
Nach dem Login kopieren

ask_dima@yahoo.com

Das obige ist der detaillierte Inhalt vonPython-Code, der eine große Anzahl von Datensätzen in eine MySQL-Tabelle einfügt.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage