使用原生 SQL语句进行对数据库操作,可完成数据库表的建立和删除,及数据表内容的增删改查操作等。其可操作性很强,如可以直接使用“ show databases”、 “show tables”等语句进行表格之外的部分操作。
Centos7远程操作数据库时需要关闭防火墙,否则会连接不上
安装:
pip3 install pymysql
数据查询:
1 import pymysql
2
3 #建立数据库连接
4 conn=pymysql.connect(host=”192.168.1.175″,port=3306,user=”root2″,passwd=”proot2″,db=”dongdb”)
5
6 #得到数据库操作游标
7 cur=conn.cursor()
8
9 #查询数据
10 resdata=cur.execute(“select * from tb_dong”)
11
12 print(“总条数为:”,resdata)
13
14 #一行一行输出数据,以元组形式
15 print(“取出第一条数据:”,cur.fetchone())
16 print(“取出第二条数据:”,cur.fetchone()[3])
17
18 #输出剩下的所有数据,以元组嵌套形式
19 print(“取出剩下的数据:”,cur.fetchall())
20
21 print(“—— 完成操作 ——-“)
22
23 #关闭连接
24 conn.close()
数据插入:Python学习群:683380553,有大牛答疑,有资源共享!是一个非常不错的交流基地!欢迎喜欢Python的小伙伴!
也可以使用 execute() 进行操作
1 import pymysql
2
3 #建立数据库连接
4 conn=pymysql.connect(host=”192.168.1.175″,port=3306,user=”root2″,passwd=”proot2″,db=”dongdb”)
5
6 #得到数据库操作游标
7 cur=conn.cursor()
8
9 #插入数据
10 datax=[
11 (“DXD1″,”M”,”东小东1″),
12 (“DXD2″,”F”,”东小东2″)
13 ]
14
15 #返回影响行数
16 rescoun=cur.executemany(“insert into tb_dong(namex,sex,otherxxx) values(%s,%s,%s)”,datax)
17 print(rescoun)
18
19 #进行数据修改,必须提交事物
20 conn.commit()
21
22 print(“—— 完成操作 ——-“)
23
24 #关闭数据库连接
25 conn.close()
数据修改:
返回影响行数,如果值未进行任何修改则返回0
rescoun=cur.execute(“update tb_dong set namex=’%s’,sex=’%s’ where id>%d”%(“dongdong”,”F”,16))
print(rescoun)
进行数据修改,必须提交事物
conn.commit()
数据删除:
返回影响行数
rescoun=cur.execute(“delete from tb_dong where id>%d”%(16))
conn.commit() #提交事物
部分封装:
1 import pymysql
2
3 #建立数据库连接
4 conn=pymysql.connect(host=”192.168.1.175″,port=3306,user=”root2″,passwd=”proot2″,db=”dongdb”)
5 #得到数据库操作游标
6 cur=conn.cursor()
7
8 #删除
9 def dongdel(tablex,idx):
10 try:
11
12 rescoun = cur.execute(“delete from %s where id=%d” % (tablex,idx))
13 conn.commit() #提交事物
14 return rescoun
15
16 except Exception as e:
17 print(“删除出现错误”, e)
18 return e
19 #插入
20 def donginsert(tablex,listx):
21 try:
22
23 rescoun = cur.executemany(“insert into “+tablex+”(namex,sex,otherxxx) values(%s,%s,%s)”,listx)
24 conn.commit()
25 return rescoun
26
27 except Exception as e:
28 print(“插入出现错误”,e)
29 return e
30
31 #查询,参数为表名和id值
32 def dongselect(tablex,idx=0):
33 try:
34
35 if idx==0:
36 resdata = cur.execute(“select * from %s”%tablex)
37 else:
38 resdata = cur.execute(“select * from %s where id=%d” %(tablex,idx))
39 return resdata
40
41 except Exception as e:
42 print(“查询出现错误”,e)
43 return e
44 #修改
45 def dongupdate(tablex,idx,namex):
46 try:
47
48 rescoun = cur.execute(“update %s set namex=’%s’ where id=%d” % (tablex,namex,idx))
49 conn.commit()
50 return rescoun
51
52 except Exception as e:
53 print(“更新出现错误”, e)
54 return e
55
56 #删除数据
57 resdel=dongdel(“tb_dong”,6)
58 print(“删除的条数为:”,resdel)
59
60
61 #插入数据
62 datax=[
63 (“dongxiaodong”,”M”,”东小东1″)
64 ]
65 resinsert=donginsert(“tb_dong”,datax)
66 print(“插入的条数为:”,resinsert)
67
68 #修改数据
69 resupdate=dongupdate(“tb_dong”,7,”dongxiaodong7″)
70 print(“修改的条数为:”,resupdate)
71
72
73 #查询数据
74 resselect=dongselect(“tb_dong”,0)
75 print(“查询的总条数为:”,resselect)
76 print(“全部数据为:”,cur.fetchall())
77
78
79 #关闭数据库连接
80 conn.close()