


Cara menggunakan Python untuk bermain dengan pangkalan data MySQL
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
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 某列=某数据;
#首先导入PyMySQL库 import pymysql #连接数据库,创建连接对象connection #连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象 connection = pymysql.connect(host = 'localhost' #host属性 user = 'root' #用户名 password = '******' #此处填登录数据库的密码 db = 'mysql' #数据库名 )
#创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。 #光标对象作用是:、创建、删除、写入、查询等等 cur = connection.cursor() #查看有哪些数据库,通过cur.fetchall()获取查询所有结果 print(cur.fetchall())
(('information_schema',), ('law',), ('mysql',), ('performance_schema',), ('test',))
#使用数据库test cur.execute('USE test') #在test数据库里创建表student,有name列和age列 cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')
sql = 'INSERT INTO student (name,age) VALUES (%s,%s)' cur.execute(sql,('XiaoMing',23))
cur.execute('SELECT * FROM student') print(cur.fetchone())
#关闭连接对象,否则会导致连接泄漏,消耗数据库资源 connection.close() #关闭光标 cur.close()
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: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
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()
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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 ...

"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

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.

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.

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, ...

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.

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.
