Bagaimana Anda menyisipkan secara massal di python menggunakan sql?

Pada artikel ini, kita akan melihat cara Memasukkan Bingkai Data Pandas Secara Massal Menggunakan SQLAlchemy dan juga pendekatan yang dioptimalkan untuk itu karena melakukannya secara langsung dengan metode Pandas sangat lambat

Membuat koneksi dan database menggunakan SQLAlchemy

Jadi pertama-tama kita akan membuat mesin untuk koneksi dengan database dan selanjutnya kita dapat menggunakan perintah to_sql() untuk mendorong data dengan batasannya. kami telah menggunakan vs-code untuk memasukkan bingkai data menggunakan SQLAlchemy, Anda dapat menggunakan editor lain juga setelah menginstal perpustakaan

Membuat koneksi dengan database menggunakan mesin SQLAlchemy

Database Dibuat dari python di meja kerja MySQL

Membuat bingkai Data dan memasukkannya ke database menggunakan fungsi to_sql()

Memasukkan bingkai data ke dalam Database (MySQL)

Tabel dimasukkan ke dalam database

Catatan. "Gunakan perintah sql di bawah ini untuk melihat hasil sql di atas"

 

Data massal Sisipkan Bingkai Data Panda Menggunakan SQLAlchemy

Kita dapat melakukan tugas ini dengan menggunakan metode "multi" yang melakukan penyisipan batch dengan menyisipkan banyak catatan sekaligus dalam satu pernyataan INSERT. Tetapi efektivitas (waktu) untuk metode ini sangat buruk bahkan dibandingkan dengan metode standar.  
Jadi untuk mengatasi masalah ini kami memiliki metode lain "callable" dengan tanda tangan (pd_table, conn, keys, data_iter) yang lebih cepat daripada metode "multi". Itu dapat dengan mudah diperhatikan pada gambar di bawah ini

Pendekatan yang dioptimalkan untuk memasukkan data massal ke dalam basis data menggunakan SQLAlchemy

implementasi kode

Piton




from sqlalchemyimport event

import pandas as pd

import sqlalchemy

import pymysql

sqlalchemy0

from sqlalchemy_import sqlalchemy4

sqlalchemy0

sqlalchemy6sqlalchemy7 sqlalchemy8sqlalchemy9 import0 import1

import2import3 import0 import5 import0import1

import2import9 import0 event1 import0 event3 import0

import2import5 import0 event8 import0 import0 import0 import2 import1

import2import0 import6 import0 import8import9

pandas as pd_0

pandas as pd_1

sqlalchemy0

pandas as pd3sqlalchemy7 pandas as pd5

sqlalchemy0

pandas as pd7 sqlalchemy7 pandas as pd9

import0import1

import0import3import4import5import6import7import6import9sqlalchemy____________________________________________________________________________

Ada lebih dari satu cara untuk mengimpor file CSV ke SQL Server menggunakan Python. Dalam panduan ini, Anda akan melihat teknik sederhana untuk mengimpor data menggunakan 2 pustaka Python berikut

  • Pandas – digunakan untuk mengimpor file CSV ke Python dan membuat DataFrame
  • Pyodbc – digunakan untuk menghubungkan Python ke SQL Server

Langkah-langkah untuk Mengimpor file CSV ke SQL Server menggunakan Python

Langkah 1. Siapkan File CSV

Untuk memulai, siapkan file CSV yang ingin Anda impor ke SQL Server

Misalnya, anggaplah file CSV disiapkan, di mana

  • Nama file CSV adalah 'produk'
  • File CSV disimpan di bawah jalur berikut. C. \Users\Ron\Desktop\Test\products. csv

Selain itu, file CSV berisi data berikut

product_idproduct_nameprice1Laptop12002Printer2003Tablet3504Keyboard805Monitor400

Langkah 2. Impor File CSV ke DataFrame

Anda dapat menggunakan pustaka Pandas untuk mengimpor file CSV ke dalam DataFrame

Berikut adalah kode untuk mengimpor file CSV untuk contoh kami (perhatikan bahwa Anda harus mengubah jalur untuk mencerminkan lokasi penyimpanan file CSV di komputer Anda)

import pandas as pd data = pd.read_csv (r'C:\Users\Ron\Desktop\Test\products.csv') df = pd.DataFrame(data) print(df)

Beginilah tampilan DataFrame di Python

product_id product_name price 0 1 Laptop 1200 1 2 Printer 200 2 3 Tablet 350 3 4 Keyboard 80 4 5 Monitor 400_

Langkah 3. Hubungkan Python ke SQL Server

Untuk menghubungkan Python ke server SQL, Anda memerlukan

  • Nama server. Untuk tujuan demonstrasi, anggap saja nama servernya adalah. RON\SQLEXPRESS
  • Nama Basis Data. Nama database untuk contoh kita adalah. test_database

Berikut adalah kode untuk menghubungkan Python ke SQL untuk contoh kita

import pyodbc conn = pyodbc.connect('Driver={SQL Server};' 'Server=RON\SQLEXPRESS;' 'Database=test_database;' 'Trusted_Connection=yes;') cursor = conn.cursor()

Anda mungkin ingin memeriksa panduan berikut yang menjelaskan langkah-langkah lengkap untuk menghubungkan Python ke SQL Server menggunakan pyodbc

Langkah 4. Buat Tabel di SQL Server menggunakan Python

Selanjutnya, tambahkan sintaks untuk membuat tabel di SQL Server. Tabel ini akan digunakan untuk menyimpan data yang diimpor dari file CSV

Sebagai contoh kami, Anda dapat menambahkan sintaks berikut untuk membuat tabel 'produk'

cursor.execute(''' CREATE TABLE products ( product_id int primary key, product_name nvarchar(50), price int ) ''')

Perhatikan setiap kali Anda menjalankan kode untuk membuat tabel. Anda hanya boleh menggunakan potongan kode itu satu kali. Jika tidak, Anda akan mendapatkan kesalahan di bawah ini.

ProgrammingError. ('42S01′, “[42S01] [Microsoft][ODBC SQL Server Driver][SQL Server]Sudah ada objek bernama 'produk' di database. (2714) (SQLExecDirectW)”)

Langkah 5. Masukkan Data DataFrame ke dalam Tabel

Berikut adalah sintaks untuk memasukkan data DataFrame (dari langkah-2) ke dalam tabel produk

for row in df.itertuples(): cursor.execute(''' INSERT INTO products (product_id, product_name, price) VALUES (?,?,?) ''', row.product_id, row.product_name, row.price ) conn.commit() _

Dan inilah seluruh kode untuk mengimpor file CSV ke SQL Server menggunakan Python

import pandas as pd import pyodbc # Import CSV data = pd.read_csv (r'C:\Users\Ron\Desktop\Test\products.csv') df = pd.DataFrame(data) # Connect to SQL Server conn = pyodbc.connect('Driver={SQL Server};' 'Server=RON\SQLEXPRESS;' 'Database=test_database;' 'Trusted_Connection=yes;') cursor = conn.cursor() # Create Table cursor.execute(''' CREATE TABLE products ( product_id int primary key, product_name nvarchar(50), price int ) ''') # Insert DataFrame to Table for row in df.itertuples(): cursor.execute(''' INSERT INTO products (product_id, product_name, price) VALUES (?,?,?) ''', row.product_id, row.product_name, row.price ) conn.commit()

Jalankan kode dengan Python (setelah melakukan penyesuaian pada jalur tempat file CSV Anda disimpan, serta membuat perubahan pada info koneksi database Anda)

Bagaimana Anda memasukkan data ke Python menggunakan SQL?

Sisipkan MySQL Python Ke Tabel .
Masukkan catatan di tabel "pelanggan". impor mysql. penyambung. mydb = mysql. .
Isi tabel "pelanggan" dengan data. impor mysql. penyambung. mydb = mysql. penyambung. Menghubung(.
Masukkan satu baris, dan kembalikan ID. impor mysql. penyambung. mydb = mysql. penyambung. Menghubung(.
❮ Sebelumnya Berikutnya ❯

Bisakah kita melakukan penyisipan massal di SQL?

pernyataan BULK INSERT . Fungsionalitas ini serupa dengan yang disediakan oleh opsi in dari perintah bcp; . Untuk penjelasan sintaks BULK INSERT, lihat BULK INSERT (Transact-SQL). BULK INSERT loads data from a data file into a table. This functionality is similar to that provided by the in option of the bcp command; however, the data file is read by the SQL Server process. For a description of the BULK INSERT syntax, see BULK INSERT (Transact-SQL).

Bagaimana cara memasukkan banyak data ke dalam SQL?

permintaan INSERT-SELECT-UNION untuk menyisipkan beberapa record . Kueri SQL UNION membantu memilih semua data yang telah dilampirkan oleh kueri SELECT melalui pernyataan INSERT.

Bagaimana saya bisa memasukkan 1000 baris dalam SQL sekaligus?

Untuk menjumlahkan baris, pengguna perlu menggunakan pernyataan penyisipan. .
Sintaksis
Contoh – Sebuah tabel bernama siswa harus memiliki nilai yang dimasukkan ke dalamnya. Itu harus dilakukan sebagai berikut
Keluaran –
Keluaran –
menyisipkan beberapa baris. Sebuah tabel dapat menyimpan hingga 1000 baris dalam satu pernyataan penyisipan. .
Sintaksis
Contoh – Pertimbangkan seorang siswa meja. .
Keluaran –

Postingan terbaru

LIHAT SEMUA