python交互mysql
python安装mysql
在python中要想使用mysql需要在python中导入pymysql模块
下载安装pip3
在ubantu下使用sudo可以直接下载,要保证ubantu可以联网
sudo apt-get install python3-pip3
下载pymysql模块
在ubantu下下载模块挺简单的,直接使用pip下载即可
pip3 install pymysql
python操作mysql
在使用前需要先导入pymysql模块
from pymysql import *
connection对象
用于建立与数据库的连接
使用connect(参数列表)方法连接数据库
- 参数host:表示要连接的主机
- 参数port:连接主机的端口号
- 参数database:要连接的数据库
- 参数user:数据库的用户名
- 参数password:数据库密码
- 参数charset:通信使用的数据库编码
连接数据库创建数据库对象
conn = connect(host = "localhost", port = 3306, database = "student", user = "root", password = "root", charset = "utf-8")
数据库对象的方法
- close():关闭数据库,断开连接
- commit():将修改过的数据提交到数据库中
- Cursor():用于创建操作数据库的游标
Cursor对象
cur = conn.cursor();
用于执行sql语句
获取cursor对象使用cursor()方法
Cursor对象的方法
- close():关闭Surcor对象
- execute():执行sql语句
- fetchone():获取查询结果的一行数据,返回值是一个元组用于存储这一行的数据
- fetchall():获取查询结果的全部数据,返回值是一个嵌套元组,每一行是一个元组,将这些元组存到一个元组中
案例:京东商品查询和添加
"""京东商场查询"""
2
3 from pymysql import connect
4
5 class JD_data(object):
6 def __init__(self):
7 # 创建数据库对象
8 self.conn = connect(host= "localhost", port = 3306, user="root", password="mysql", database= "test", charset= "utf8");
9 # 创建数据哭游标
10 self.cur = self.conn.cursor();
11
12
13 def __del__(self):
14 self.cur.close();
15 self.conn.close();
16 print("谢谢使用");
17
18
19 def show_all_items(self):
20 sql = "select * from JD";
21 self.cur.execute(sql);
22 all_data = self.cur.fetchall();
23 for item in all_data:
24 print(item);
25
26
27 def insert_into(self):
28 """插入数据"""
29
30 while True:
31 print("请根据提示添加数据");
32 print("e:添加");
33 print("q:退出添加");
34 k = input("请选择功能:")
35 if k =="e":
36 k_id = int(input("请输入id:"));
37 name = input("请输入姓名:");
38 show = input("是否上架1,2:");
39 elif k =="q":
40 break;
41 else:
42 print("输入有误!");
43
44
45 sql = """insert into JD(name) values("%s")""" % name;
46 self.cur.execute(sql);
47 # 提交到数据库中
48 self.conn.commit()
49
50
51 def run(self):
52 """运行"""
53 while True:
54 print("-----欢迎使用JD查询系统-----");
55 print("1:所有商品");