【学习笔记】Python之MySql数据库操作,将二维列表存入数据库以及增、删、改、查。

MySql数据库操作

首先在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装

Python数据库操作环境配置

离线安装:

pip install 下载的安装包名

在线安装:
输入以下命令

pip install pymysql

在这里插入图片描述
出现这样说明安装成功!

数据库操作的基本流程

在这里插入图片描述

创建 Connection数据库操作对象

使用Pymysql模块的connect() 方法可生成一个 connection 对象。
connect()参数如下:
• host: 数据库主机名.默认是用本地主机
• user: 数据库登陆名.默认是当前用户
• passwd: 数据库登陆的密码.默认为空
• db: 要使用的数据库名.没有默认值
• port: MySQL服务使用的TCP端口.默认是3306
• charset: 数据库编码
• local_infile: 是否允许读取本地文件

创建数据库

create database 数据库名

在这里插入图片描述

连接数据库

import pymysql

config = {'host': 'localhost',
'port': 3306,
'user': 'root',
'passwd': '密码',
'db' : '数据库名'
}
conn = pymysql.connect( ** config)

创建表

SQL语句:

CREATE TABLE 表名(ID INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NULL, age INT NULL, score INT NULL, PRIMARY KEY (ID));

使用connection 对象,常用方法:
cursor():创建游标对象。一个游标允许用户执行数据库命令和得到查询结果
excute(sql[, args]):执行一个数据库查询或命令
callproc(func[,args]):调用一个存储过程
fetchone():得到一行记录
fetchall():得到所有行记录
close():关闭对象,关闭后无法再进行操作,除非再次创建连接。

cursor = conn.cursor()
sql = "CREATE TABLE tb_Student(ID INT NOT NULL
AUTO_INCREMENT, name VARCHAR(20) NULL, age INT NULL,
score INT NULL, PRIMARY KEY (ID))"
cursor.execute(sql)
conn.close()

将二维列表数据插入数据库

姓名 年龄 成绩
杨洋 18 90
张艺兴 19 92
彭昱畅 17 89

(1)将数据用多维列表方式存储在内存中

ls = []
ls.append(["杨洋",18,90])
ls.append(["张艺兴",19,92])
ls.append(["彭昱畅",17,89])

(2)写入数据库、读取数据内容

cursor = conn.cursor()
sql = "insert into tb_student(name,age,score) values('{0}',{1},{2})"
try:
  for line in ls:
      cursor.execute(sql.format(*line))
      conn.commit()
except:
      conn.rollback()
finally:
      conn.close()

读取数据库中数据

cursor = conn.cursor()
sql = "select * from tb_student"
cursor.execute(sql)
rows = cursor.fetchall()
ls =list(map(list,rows))
conn.close()
print(ls)

根据条件读取数据库的信息

cursor = conn.cursor()
sql = "select name,age,score from tb_student where score<{0}"
cursor.execute(sql.format(90))
rows = cursor.fetchall()
rows = list(map(list,rows))
print(rows)

修改数据库的信息

cursor = conn.cursor()
sql = "update tb_student set score = 80 where name=%s"
try:
   cursor.execute(sql,["杨洋"])
   conn.commit()
except:
   conn.rollback()

删除数据库的信息

cursor = conn.cursor()
sql = " delete from tb_student where score<%s "
try:
   cursor.execute(sql,[85])
   conn.commit()
except:
   conn.rollback()

根据老师讲的,简单的总结一下!ψ(`∇´)ψ

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南蓬幽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值