Jadual Kandungan
1. Latar Belakang
2. Operasi asas
1 Pasang perpustakaan PyMySQL
Rumah pangkalan data tutorial mysql Cara menggunakan Python untuk bermain dengan pangkalan data MySQL

Cara menggunakan Python untuk bermain dengan pangkalan data MySQL

May 26, 2023 pm 02:46 PM
mysql python

1. Latar Belakang

Saya menjalankan eksperimen sambungan dalam buku nota Anaconda, menggunakan persekitaran Python3.6 Sudah tentu, operasi juga boleh dilakukan dalam Python Shell.

Pustaka python yang paling biasa digunakan dan stabil untuk menyambung ke pangkalan data MySQL ialah PyMySQL.

2. Operasi asas

1 Pasang perpustakaan PyMySQL

Cara paling mudah:

Masukkan pip install pymysql

Atau:

Muat turun

fail whl [1] untuk memasangnya Proses pemasangan dilakukan sendiri.

2. Pasang pangkalan data MySQL

Terdapat dua pangkalan data MySQL:

MySQL dan MariaDB

Saya menggunakan MariaDB, yang merupakan garpu MySQL.

Kedua-duanya serasi dalam kebanyakan persembahan, dan anda tidak dapat merasakan sebarang perbezaan apabila menggunakannya.

memberikan alamat muat turun:

MySQL[2], MariaDB[3] Proses pemasangan adalah sangat mudah, cuma ikut Langkah Seterusnya, tetapi ingat kata laluan.

Terdapat episod kecil MySQL dan MariaDB setara dengan perhubungan adik-beradik perempuan (Widenius).

Selepas MySQL diperoleh oleh Oracle, Encik Widenius berasa tidak senang hati, jadi dia membina MariaDB, yang boleh menggantikan MySQL sepenuhnya.

Lembu besar sengaja.

3. Sintaks SQL Asas

Seterusnya, kami akan menggunakan penciptaan jadual SQL, pertanyaan, sisipan data dan fungsi lain Berikut ialah pengenalan ringkas kepada pernyataan asas bahasa SQL.

  • Lihat pangkalan data:

    SHOW DATABASES;

  • Buat pangkalan data:

    CREATE DATEBASE 数据库名称;

  • Gunakan pangkalan data :

    USE 数据库名称;

  • Lihat jadual data:

    SHOW TABLES;

  • Buat jadual data:

    CREATE TABLE 表名称(列名1 (数据类型1),列名2 (数据类型2));

  • Masukkan data:

    INSERT INTO 表名称(列名1,列名2) VALUES(数据1,数据2);

  • Lihat data:

    SELECT * FROM 表名称;

  • Kemas kini data:

    UPDATE 表名称 SET 列名1=新数据1,列名2=新数据2 WHERE 某列=某数据;

4. Sambungkan ke pangkalan data

Selepas memasang fail dan perpustakaan yang diperlukan, mari kita mulakan secara rasmi menyambung ke pangkalan data.

#首先导入PyMySQL库
import pymysql
#连接数据库,创建连接对象connection
#连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象
connection = pymysql.connect(host = 'localhost' #host属性
                            user = 'root' #用户名
                            password = '******'  #此处填登录数据库的密码
                            db = 'mysql' #数据库名
                            )
Salin selepas log masuk

Laksanakan kod ini dan sambungan akan selesai!

5. Tambah, padam, ubah suai dan semak operasi

Semak dahulu pangkalan data mana yang ada:

#创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。
#光标对象作用是:、创建、删除、写入、查询等等
cur = connection.cursor()
#查看有哪些数据库,通过cur.fetchall()获取查询所有结果
print(cur.fetchall())
Salin selepas log masuk

Cetak semua pangkalan data:

(('information_schema',),
('law',),
('mysql',),
('performance_schema',),
('test',))
Salin selepas log masuk

Buat dalam pangkalan data ujian Jadual:

#使用数据库test
cur.execute('USE test')
#在test数据库里创建表student,有name列和age列
cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')
Salin selepas log masuk

Masukkan sekeping data ke dalam jadual data pelajar:

sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'
cur.execute(sql,('XiaoMing',23))
Salin selepas log masuk

Lihat kandungan pelajar jadual data:

cur.execute('SELECT * FROM student')
print(cur.fetchone())
Salin selepas log masuk

Cetakan ialah: ('XiaoMing', 23)

Bingo! Ia adalah sekeping data yang baru kami masukkan

Akhir sekali, ingat untuk menutup kursor dan sambungan:

#关闭连接对象,否则会导致连接泄漏,消耗数据库资源
connection.close()
#关闭光标
cur.close()
Salin selepas log masuk

OK, keseluruhan proses adalah lebih kurang seperti ini.

Sudah tentu, ini adalah operasi yang sangat asas. Lebih banyak kaedah penggunaan perlu ditemui dalam

dokumentasi rasmi PyMySQL[4].

3 Import fail data besar

Ambil fail csv sebagai contoh biasanya terdapat dua cara untuk mengimport fail csv ke dalam pangkalan data:

1 melalui kaedah sisipan SQL , sesuai untuk fail CSV dengan volum data yang kecil, dan tidak akan diterangkan secara terperinci di sini.

2. Import melalui kaedah muat data, yang pantas dan sesuai untuk fail data besar, yang juga menjadi tumpuan artikel ini.

Sampel fail CSV adalah seperti berikut:

Cara menggunakan Python untuk bermain dengan pangkalan data MySQL

Kerja keseluruhan dibahagikan kepada 3 langkah:

1 ke pangkalan data mysql;

2、基于CSV文件表格字段创建表;

3、使用load data方法导入CSV文件内容。

sql的load data语法简介:

LOAD DATA LOCAL INFILE 'csv_file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES
Salin selepas log masuk

csv_file_path 指文件绝对路径 table_name指表名称 FIELDS TERMINATED BY ','指以逗号分隔 LINES TERMINATED BY '\\r\\n'指换行 IGNORE 1 LINES指跳过第一行,因为第一行是表的字段名

下面给出全部代码:

#导入pymysql方法
import pymysql


#连接数据库
config = {:'',
         :3306,
         :'username',
         :'password',
         :'utf8mb4',
         :1
         }
conn = pymysql.connect(**config)
cur = conn.cursor()


#load_csv函数,参数分别为csv文件路径,表名称,数据库名称
def load_csv(csv_file_path,table_name,database='evdata'):
   #打开csv文件
   file = open(csv_file_path, 'r',encoding='utf-8')
   #读取csv文件第一行字段名,创建表
   reader = file.readline()
   b = reader.split(',')
   colum = ''
   for a in b:
       colum = colum + a + ' varchar(255),'
   colum = colum[:-1]
   #编写sql,create_sql负责创建表,data_sql负责导入数据
   create_sql = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
   data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)

   #使用数据库
   cur.execute('use %s' % database)
   #设置编码格式
   cur.execute('SET NAMES utf8;')
   cur.execute('SET character_set_connection=utf8;')
   #执行create_sql,创建表
   cur.execute(create_sql)
   #执行data_sql,导入数据
   cur.execute(data_sql)
   conn.commit()
   #关闭连接
   conn.close()
   cur.close()
Salin selepas log masuk

Atas ialah kandungan terperinci Cara menggunakan Python untuk bermain dengan pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Memohon Rentetan Debian di laman web Cara Memohon Rentetan Debian di laman web Apr 02, 2025 am 08:21 AM

Artikel ini membincangkan cara mengoptimumkan prestasi laman web mengenai sistem Debian. "Debianstrings" bukan istilah standard dan boleh merujuk kepada alat atau teknologi yang digunakan dalam sistem Debian untuk meningkatkan prestasi laman web. Berikut adalah beberapa petua praktikal: 1. Adalah disyorkan untuk menggunakan panel pagoda untuk memudahkan proses pemasangan dan konfigurasi untuk konfigurasi pelayan web dan php persekitaran. Adalah disyorkan untuk memasang nginx1.22.1 sebagai pelayan web, Php8.2 sebagai penterjemah skrip, dan MySQL10.7.3-Mariadb sebagai sistem pangkalan data. Pastikan untuk membolehkan sambungan PHP yang diperlukan, seperti FileInfo, Opcache, Memcached, Red

Bagaimana cara menentukan pangkalan data yang berkaitan dengan model dalam beego orm? Bagaimana cara menentukan pangkalan data yang berkaitan dengan model dalam beego orm? Apr 02, 2025 pm 03:54 PM

Di bawah rangka kerja beegoorm, bagaimana untuk menentukan pangkalan data yang berkaitan dengan model? Banyak projek beego memerlukan pelbagai pangkalan data untuk dikendalikan secara serentak. Semasa menggunakan beego ...

Adakah debian rentetan serasi dengan pelbagai pelayar Adakah debian rentetan serasi dengan pelbagai pelayar Apr 02, 2025 am 08:30 AM

"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif

Adakah pengubahsuaian XML memerlukan pengaturcaraan? Adakah pengubahsuaian XML memerlukan pengaturcaraan? Apr 02, 2025 pm 06:51 PM

Mengubah kandungan XML memerlukan pengaturcaraan, kerana ia memerlukan penemuan tepat nod sasaran untuk menambah, memadam, mengubah suai dan menyemak. Bahasa pengaturcaraan mempunyai perpustakaan yang sepadan untuk memproses XML dan menyediakan API untuk melaksanakan operasi yang selamat, cekap dan terkawal seperti pangkalan data operasi.

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 08:54 PM

Permohonan yang menukarkan XML terus ke PDF tidak dapat dijumpai kerana mereka adalah dua format yang berbeza. XML digunakan untuk menyimpan data, manakala PDF digunakan untuk memaparkan dokumen. Untuk melengkapkan transformasi, anda boleh menggunakan bahasa pengaturcaraan dan perpustakaan seperti Python dan ReportLab untuk menghuraikan data XML dan menghasilkan dokumen PDF.

Bagaimana untuk memilih penyelesaian untuk konsistensi data antara MySQL dan REDIS: perbezaan antara penghapusan dua kali ganda dan mengubahsuai pangkalan data dan kemudian memadam cache dan senario yang berkenaan? Bagaimana untuk memilih penyelesaian untuk konsistensi data antara MySQL dan REDIS: perbezaan antara penghapusan dua kali ganda dan mengubahsuai pangkalan data dan kemudian memadam cache dan senario yang berkenaan? Apr 02, 2025 am 11:57 AM

Dua penyelesaian untuk konsistensi data antara MySQL dan REDIS: Penangguhan Pemadaman Double dan Pengubahsuaian Pangkalan Data Pertama dan kemudian memadam cache digunakan untuk menangani masalah konsistensi data di MySQL dan Redis, ...

Cara mengubahsuai kandungan komen dalam XML Cara mengubahsuai kandungan komen dalam XML Apr 02, 2025 pm 06:15 PM

Untuk fail XML kecil, anda boleh menggantikan kandungan anotasi secara langsung dengan editor teks; Untuk fail besar, adalah disyorkan untuk menggunakan parser XML untuk mengubahnya untuk memastikan kecekapan dan ketepatan. Berhati -hati apabila memadam komen XML, menyimpan komen biasanya membantu pemahaman dan penyelenggaraan kod. Petua Lanjutan menyediakan kod sampel Python untuk mengubahsuai komen menggunakan parser XML, tetapi pelaksanaan khusus perlu diselaraskan mengikut perpustakaan XML yang digunakan. Beri perhatian kepada isu pengekodan semasa mengubah suai fail XML. Adalah disyorkan untuk menggunakan pengekodan UTF-8 dan menentukan format pengekodan.

Bagaimana cara mengawal saiz XML ditukar kepada imej? Bagaimana cara mengawal saiz XML ditukar kepada imej? Apr 02, 2025 pm 07:24 PM

Untuk menjana imej melalui XML, anda perlu menggunakan perpustakaan graf (seperti bantal dan JFreechart) sebagai jambatan untuk menjana imej berdasarkan metadata (saiz, warna) dalam XML. Kunci untuk mengawal saiz imej adalah untuk menyesuaikan nilai & lt; lebar & gt; dan & lt; ketinggian & gt; Tag dalam XML. Walau bagaimanapun, dalam aplikasi praktikal, kerumitan struktur XML, kehalusan lukisan graf, kelajuan penjanaan imej dan penggunaan memori, dan pemilihan format imej semuanya mempunyai kesan ke atas saiz imej yang dihasilkan. Oleh itu, perlu mempunyai pemahaman yang mendalam tentang struktur XML, mahir dalam perpustakaan grafik, dan mempertimbangkan faktor -faktor seperti algoritma pengoptimuman dan pemilihan format imej.

See all articles