Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Python Pymysql untuk penyimpanan data?

Bagaimana untuk menggunakan Python Pymysql untuk penyimpanan data?

WBOY
WBOYke hadapan
2023-04-23 20:34:151195semak imbas

Python menyambung dan mengendalikan pangkalan data MySQL, terutamanya melalui modul Pymysql. Di sini kami menerangkan cara menyimpan data yang ditangkap ke dalam pangkalan data MySQL.

Buat jadual data storan

Pertama sekali, anda harus memastikan bahawa pangkalan data MySQL telah dipasang pada komputer anda, dan kemudian lakukan perkara berikut:

# 1. 连接到mysql数据库
mysql -h227.0.0.1 -uroot -p123456
# 2. 建库
create database maoyandb charset utf8;
# 3. 切换数据库
use maoyandb;
# 4. 创建数据表
create table filmtab(
name varchar(100),
star varchar(400),
time varchar(30)
);

Penggunaan asas Pymysql

1) Sambung ke pangkalan data

db = pymysql.connect('localhost','root','123456','maoyandb')

Penerangan parameter:

  • localhost: alamat pelayan MySQL tempatan atau IP alamat pangkalan data jauh.

  • root: nama pengguna yang digunakan untuk menyambung ke data.

  • kata laluan: Kata laluan yang digunakan untuk menyambung ke pangkalan data, kata laluan pelayan MySQL tempatan ialah "123456".

  • db: Nama pangkalan data yang disambungkan.

2) Cipta objek kursor

cursor = db.cursor()

3) Laksana arahan sql

execute() kaedah digunakan untuk melaksanakan pernyataan SQL. Seperti yang ditunjukkan di bawah:

#第一种方法:编写sql语句,使用占位符传入相应数据
sql = "insert into filmtab values('%s','%s','%s')" % ('刺杀,小说家','雷佳音','2021')
cursor.excute(sql)
第二种方法:编写sql语句,使用列表传参方式
sql = 'insert into filmtab values(%s,%s,%s)'
cursor.execute(sql,['刺杀,小说家','雷佳音','2021'])

4) Hantar data

db.commit()

5) Tutup pangkalan data

cursor.close()
db.close()

Kod lengkap adalah seperti berikut:

# -*-coding:utf-8-*-
import pymysql
#创建对象
db = pymysql.connect('localhost','root','123456','maoyandb')
cursor = db.cursor()
# sql语句执性,单行插入
info_list = ['刺杀,小说家','雷佳音,杨幂','2021-2-12']
sql = 'insert into movieinfo values(%s,%s,%s)'
#列表传参
cursor.execute(sql,info_list)
db.commit()
# 关闭
cursor.close()
db.close()

Hasil data pertanyaan adalah seperti berikut:

mysql> pilih * daripada movieinfo;
+------------+-- - --------------+
|. nama                                                                                                                                                                                                                                                                                                                             ------+--------- ----------+----------+
| Pembunuhan, penulis novel |. ----------+------+---- -------+
1 baris dalam set (0.01 saat)

Terdapat juga kaedah yang lebih cekap, menggunakan executemany() untuk memasukkan berbilang keping data pada masa yang sama. Contohnya adalah seperti berikut:

Tanya hasil sisipan seperti berikut:
db = pymysql.connect('localhost','root','123456','maoyandb',charset='utf8')
cursor = db.cursor()
# sql语句执性,列表元组
info_list = [('我不是药神','徐峥','2018-07-05'),('你好,李焕英','贾玲','2021-02-12')]
sql = 'insert into movieinfo values(%s,%s,%s)'
cursor.executemany(sql,info_list)
db.commit()
# 关闭
cursor.close()
db.close()

mysql> pilih * daripada movieinfo;
+--------; -- ---+-------------------+----------------+

| nama | |. masa |
+------------+-----+--------- -----------+
|. Saya bukan tuhan perubatan | |
+------------- +-------------------+----------- -----+
2 baris dalam set (0.01 saat)


Ubah suai program perangkak

Sekarang ubah suai program perangkak untuk menyimpan data yang ditangkap dalam pangkalan data MySQL . Seperti yang ditunjukkan di bawah:

Pertanyaan pangkalan data menyimpan keputusan seperti berikut:

mysql> pilih * daripada movieinfo;
+----------------+---------------- ------------------------------------------+------ - ----+
|. nama                                                                                                                                                                                                                                                                --------------------------------------- +---- --------+
|. Saya bukan tuhan perubatan | Robbins, Morgan Ford, Bob Gunton | Matsuoka Moyu                                                                                                                                                                                                                                                                            Suami, Hanmo                                                                                                                                                                                                                                                                              020-01-03 |
|. Pembunuh ini tidak terlalu dingin | 2010-09-01 |
+------------ ----+----------------------- ------------------------- -------------+----------- -----+
10 baris dalam set (0.01 saat)

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Python Pymysql untuk penyimpanan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam