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.
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) );
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:
Tanya hasil sisipan seperti berikut:mysql> pilih * daripada movieinfo;
Terdapat juga kaedah yang lebih cekap, menggunakan executemany() untuk memasukkan berbilang keping data pada masa yang sama. Contohnya adalah seperti berikut:
+------------+-- - --------------+
|. nama ------+--------- ----------+----------+
| Pembunuhan, penulis novel |. ----------+------+---- -------+
1 baris dalam set (0.01 saat)
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()
+--------; -- ---+-------------------+----------------+Sekarang ubah suai program perangkak untuk menyimpan data yang ditangkap dalam pangkalan data MySQL . Seperti yang ditunjukkan di bawah:| nama | |. masa |
+------------+-----+--------- -----------+
|. Saya bukan tuhan perubatan | |
+------------- +-------------------+----------- -----+
2 baris dalam set (0.01 saat)
Ubah suai program perangkak
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!