以下代码实现环境是mac系统,本地配置mysql服务端和navicat premium客户端,python环境是配置了pymysql的anaconda3。
首先,与数据库建立connection和进行操作的原理
(1)通过navicat premium创建testdataset数据库和库内数据表test:
1
2
3
4
5
6
|
create table `test` (
` id ` int ( 10 ) not null auto_increment,
`name` varchar( 20 ) default null,
`age` int ( 10 ) default null,
primary key (` id `)
) engine = innodb default charset = utf8;
|
(2)在test数据表里添加数据项
(3)jupyter notebook里连接数据库,并对数据库进行操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import pandas as pd
import datetime
import pymysql
#创建连接
conn = pymysql.connect(host = '127.0.0.1' , port = 3306 , user = 'root' ,
passwd = '******' , db = 'testdataset' , charset = 'utf8' ) #passwd是本地mysql服务器密码
conn
#output:<pymysql.connections.connection at 0x11443e588>
#创建游标
cursor = conn.cursor()
cursor
#output:<pymysql.cursors.cursor at 0x11443e2e8>
#执行sql,并返回受影响行数
effect_row = cursor.execute( "select * from test" )
effect_row
#output:4
#获取剩余结果的第一行数据
r1 = cursor.fetchone()
r1
#output:(1, '李明', 18)
name = '王天'
age = 17
sql = "select name,age from test where name='%s' and age='%s'" % (name,age)
row_count = cursor.execute(sql)
row_1 = cursor.fetchone()
print (row_count,row_1)
#output:1 ('王天', 17)
conn.commit()
cursor.close()
conn.close()
|
总结
以上所述是小编给大家介绍的python3数据库操作包pymysql的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/cymy001/article/details/81049493