调用pymysql模块操作数据库
1、创建数据库表:
1 def create_table(tb_name): 2 import pymysql#导入模块 3 #连接数据库 4 db = pymysql.Connect('localhost','root','123','zabbix_db') 5 #创建游标对象(工具) 6 cursor = db.cursor() 7 #SQL语句,实现对数据库表的创建 8 sql = 'create table %s(id int,name char(30),age int);'%tb_name 9 #执行sql命令 10 cursor.execute(sql) 11 #关闭游标 12 cursor.close() 13 #关闭数据库 14 db.close() 15 create_table(user)
2、添加数据:
1 def insert_data(id_data,name_data,age_data): 2 import pymysql 3 db = pymysql.Connect('127.0.0.1','root','123','zabbix_db') 4 cursor = db.cursor() 5 sql = 'insert into user1(id,name,age) values(%s,%s,%s);' 6 cursor.execute(sql,(id_data,name_data,age_data)) 7 db.commit()#确认提交 8 cursor.close() 9 db.close() 10 print('执行成功,数据库连接关闭') 11 insert_data(5,"James",33)
3、删除数据:
1 def del_data(name_data): 2 import pymysql 3 db = pymysql.Connect('127.0.0.1', 'root', '123', 'zabbix_db') 4 cursor = db.cursor() 5 sql = 'delete from user1 where name=%s;' 6 cursor.execute(sql, (name_data)) 7 db.commit() 8 cursor.close() 9 db.close() 10 print('执行成功,数据库连接关闭') 11 del_data('Luckly')
4、更新数据
1 def update_data(new_age,old_name): 2 import pymysql 3 db = pymysql.Connect('127.0.0.1', 'root', '123', 'zabbix_db') 4 cursor = db.cursor() 5 sql = 'update user1 set age=%s where name=%s;' 6 cursor.execute(sql, (new_age,old_name)) 7 db.commit() 8 cursor.close() 9 db.close() 10 print('执行成功,数据库连接关闭') 11 update_data(18,'tom')
5、查询数据
1 def search_data(): 2 db = pymysql.connect('127.0.0.1','root','123','zabbix_db') 3 #创建游标 4 cursor = db.cursor() 5 #要执行的sql 6 sql = 'select * from user1' 7 #根据执行的条件进行查询 8 # sql = 'select * from user1 where age > 18' 9 cursor.execute(sql) 10 # 将查找到的所有数据,存储到变量all_users中 11 all_users = cursor.fetchall() 12 # print(all_users)#以元组方式存储,一个元素就是一个元组,然后每个信息存储到大的元组中
#((2, 'Jerry', 20), (3, 'Tom', 18), (4, 'Jeter', 12), (5, 'James', 33))
13 i = 0 14 while i < len(all_users): 15 user = all_users[i] 16 # print(user) 17 print('name:{}\tage:{}'.format(user[1],user[2])) 18 print('-----'*10) 19 i += 1 20 #关闭游标 21 cursor.close() 22 #关闭数据库 23 db.close()
所思及所学
学而不思则罔,思而不学则殆!