大家好,我是csdn的博主:lqj_本人
这是我的个人博客主页:
lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop
小淼Develop的个人空间-小淼Develop个人主页-哔哩哔哩视频
本篇文章主要讲述python操作mysql数据库的增、删、改、查
目录
python后端
mysql数据库表结构的创建
pymysql库的安装
增加数据
写法一(静态):
写法二(动态):
写法三(动态):
综合代码:
小案例:
mysql数据库的数据显示:
查询数据
写法一(admin表中所有的数据):
写法二(admin表中条件查询id==3的数据):
写法三(admin表中条件查询id>2的数据):
写法四(admin表中条件查询id>2的数据"利用execute的第一个参数判断"):
写法五(admin表中条件查询id>2的数据中第一条满足的数据。"利用execute的第一个参数判断"):
综合代码:
综合代码查询结果:
删除数据
条件删除(删除admin数据表中id为3的数据):
写法:
综合代码:
删除后的显示
修改数据
条件修改写法:
综合代码
python后端
python是后端开发的语言,后端开发指的是所开发的内容不会直接展示在用户的面前。而是在进行数据的处理和逻辑功能的交互,后端也被称之为服务端。
在后端开发里面数据处理是一个麻烦而又重要的领域,所有程序的功能交互都离不开数据,哪怕是一个变量都是数据。而python能够使用丰富的基本数学库math和第三方库numpy等等完成不同类型不同格式的数据处理工作,对于文本类型数据也有XML和BeautifulSoup等库可以进行轻松的处理。
一个网页的开发分为前端和后端两个部分,前端就是使用HTML、CSS、JavaScript等语言去开发出来的可以直观的展示给用户浏览的页面,也被称之为视图。而后端就是这些页面上所执行的操作,例如网页跳转、数据展示和文件读写等等操作。
mysql数据库表结构的创建
我这里创建一个有id,username,password,mobile这些键的表表结构。
sql语句代码如下:
create table admin(
-> id int not null auto_increment primary key,
-> username varchar(16) not null,
-> password varchar(64) not null,
-> mobile char(11) not null
-> ) default charset=utf8;
pymysql库的安装
在pycharm编译器中的终端输入一下代码
pip install pymysql
或者根据下面的图片中的引导下载:
增加数据
写法一(静态):
cursor.execute("insert into admin(username,password,mobile) values ('lqj','lqj0828','123456789')")
写法二(动态):
sql = "insert into admin(username,password,mobile) values (%s,%s,%s)"
cursor.execute(sql,["张三","qwe123","12333333333"])
写法三(动态):
sql = "insert into admin(username,password,mobile) values (%(n1)s,%(n2)s,%(n3)s)"
cursor.execute(sql, {"n1": "李四", "n2": "qwe44", "n3": "14444444444"})
综合代码:
import pymysql
# 1.链接mysql
conn = pymysql.connect(host="自己的ip地址", port=自己的端口, user='root', password='自己的mysql密码', charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令
# 生成命令
# 写法一(静态)
cursor.execute("insert into admin(username,password,mobile) values ('lqj','lqj0828','123456789')")
# 提交命令
conn.commit()
# 3.关闭连接
cursor.close()
conn.close()
小案例:
用户输入的值存放到mysql数据库的数据表中
import pymysql
while True:
user = input("用户名:")
if user.upper() == 'Q':
break
pwd = input("密码:")
mobile = input("手机号:")
# 1.链接mysql
conn = pymysql.connect(host="自己的ip地址", port=自己的端口, user='root', password='自己的mysql密码', charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令
# 生成命令
# 写法一(静态)
# cursor.execute("insert into admin(username,password,mobile) values ('lqj','lqj0828','123456789')")
# 写法二(动态)
# sql = "insert into admin(username,password,mobile) values (%s,%s,%s)"
# cursor.execute(sql,["张三","qwe123","12333333333"])
# 写法二(动态获取用户输入信息)
sql = "insert into admin(username,password,mobile) values (%s,%s,%s)"
cursor.execute(sql, [user, pwd, mobile])
# 写法三(动态)
# sql = "insert into admin(username,password,mobile) values (%(n1)s,%(n2)s,%(n3)s)"
# cursor.execute(sql, {"n1": "李四", "n2": "qwe44", "n3": "14444444444"})
# 提交命令
conn.commit()
# 3.关闭连接
cursor.close()
conn.close()
mysql数据库的数据显示:
查询数据
写法一(admin表中所有的数据):
sql = "select * from admin"
res = cursor.execute(sql)
data_list = cursor.fetchall()
for row_dict in data_list:
print(row_dict)
写法二(admin表中条件查询id==3的数据):
sql = "select * from admin where id=3"
res = cursor.execute(sql)
data_list = cursor.fetchall()
for row_dict in data_list:
print(row_dict)
写法三(admin表中条件查询id>2的数据):
sql = "select * from admin where id>2"
res = cursor.execute(sql)
data_list = cursor.fetchall()
for row_dict in data_list:
print(row_dict)
写法四(admin表中条件查询id>2的数据"利用execute的第一个参数判断"):
sql = "select * from admin where id>%s"
res = cursor.execute(sql, [2, ])
data_list = cursor.fetchall()
for row_dict in data_list:
print(row_dict)
写法五(admin表中条件查询id>2的数据中第一条满足的数据。"利用execute的第一个参数判断"):
sql = "select * from admin where id>%s"
res = cursor.execute(sql, [2, ])
data_list = cursor.fetchone()
print(data_list)
综合代码:
import pymysql
# 1.链接mysql
conn = pymysql.connect(host="自己的ip地址", port=自己的端口, user='root', password='自己的mysql密码', charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令
# 写法一(获取admin表中所有的数据)
# sql = "select * from admin"
# res = cursor.execute(sql)
# data_list = cursor.fetchall()
# for row_dict in data_list:
# print(row_dict)
# 写法二(admin中的条件查询)
# 1.id等于3的所有数据写法
# sql = "select * from admin where id=3"
# res = cursor.execute(sql)
# data_list = cursor.fetchall()
# for row_dict in data_list:
# print(row_dict)
# 2.id大于2的所有数据写法一
# sql = "select * from admin where id>2"
# res = cursor.execute(sql)
# data_list = cursor.fetchall()
# for row_dict in data_list:
# print(row_dict)
# 3.id大于2的所有数据写法二
# sql = "select * from admin where id>%s"
# res = cursor.execute(sql, [2, ])
# data_list = cursor.fetchall()
# for row_dict in data_list:
# print(row_dict)
# 4.id大于2的第一条数据写法
sql = "select * from admin where id>%s"
res = cursor.execute(sql, [2, ])
data_list = cursor.fetchone()
print(data_list)
# 提交命令
conn.commit()
# 3.关闭连接
cursor.close()
conn.close()
综合代码查询结果:
删除数据
条件删除(删除admin数据表中id为3的数据):
写法:
sql = "delete from admin where id=%s"
res = cursor.execute(sql,[3,])
print("admin表中id为3的数据删除成功!")
综合代码:
import pymysql
# 1.链接mysql
conn = pymysql.connect(host="自己的ip地址", port=自己的端口, user='root', password='自己的mysql密码', charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令
# 写法一(删除admin表中id为3的数据)
sql = "delete from admin where id=%s"
res = cursor.execute(sql,[3,])
print("admin表中id为3的数据删除成功!")
# 提交命令
conn.commit()
# 3.关闭连接
cursor.close()
conn.close()
删除后的显示
python显示:
mysql数据库变化:
修改数据
条件修改写法:
sql = "update admin set mobile=%s where id=%s"
res = cursor.execute(sql, ["444444", 4, ])
print("admin表中id为4的mobile数据成功修改为了:444444")
综合代码
import pymysql
# 1.链接mysql
conn = pymysql.connect(host="自己的ip地址", port=自己的端口, user='root', password='自己的mysql密码', charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 2.发送指令
# 写法一(删除admin表中)
sql = "update admin set mobile=%s where id=%s"
res = cursor.execute(sql, ["444444", 4, ])
print("admin表中id为4的mobile数据成功修改为了:444444")
# 提交命令
conn.commit()
# 3.关闭连接
cursor.close()
conn.close()
python显示:
mysql数据库变化: