python3中可以使用库pymysql

数据准备:

搭建一个数据库,我是在docker下搭建的Mysql(端口号是3306,账号是root,密码123456)

建立数据库test_db,表TB_Student,表结构如下:

TB_Student

需要做的操作如下:

在上述名单中,ID是连续编号的数字。现在需要按照班级给他们设一个新的序号(Seq),每个班级从1开始连续编号,输出如下表所示的结果,请写成相应的sql语句或者代码。

增加一列后的表TB_Student

以下是关于pymysql的相关知识

1.先导入库名

import pymysql

可以在pycharm中下载相应的包

2.连接数据库

pymysql.connect(host="localhost",port=3306,database='test_db',user='root',password='123456')

说明:

host是数据库的地址,因为我的数据库就在本机,所以就是localhost

port是在docker建立mysql的时候设置的端口(注意端口号非字符串,不用引号)

database要使用到的数据库名

user和password是连接mysql的账号、密码

3.获取游标

#使用cursor()方法创建一个游标对象 cursor

cursor = db.cursor()

4.执行SQL查询语句

说明:

声明游标后,可以反复调用cursor.execute()去执行不同sql语句

查出来的结果是通过cursor.fetchall() 或者 cursor.fetchone()获取到的,是元组类型

#使用execute()方法执行 SQL 查询

cursor.execute("select count(*) from TB_Student;")

#获取表里所有内容

result_count = cursor.fetchall()

#获取单条数据

result_count = cursor.fetchone()

5.执行修改语句

注意:若有修改数据库的操作,需要执行commit操作,才可以生效,才可以真正把修改更新到数据库。

#连接完数据库并不会自动提交,所以需要手动 commit 你的改动

db.commit()

以上是所需要的只是,所以最开始的问题的代码如下:

#!/usr/bin/python3

import pymysql

#连接数据库

#cursorclass = pymysql.cursors.DictCursor变成字典作为元素的列表,例如[{'count(*)': 13}]

db = pymysql.connect(host="localhost",port=3306,database='test_db',user='root',password='123456',

cursorclass = pymysql.cursors.DictCursor)

#通过连接对象获取游标

cursor = db.cursor()

#查询表TB_Student行数(在元组中)

#使用execute()方法执行 SQL 查询

cursor.execute("select count(*) from TB_Student;")

#获取表里所有内容

result_count = cursor.fetchall()

#输出结果为[{'count(*)': 13}],'count(*)'是select语句里需要查询的字段

print(result_count)

#result_count[0][0]才是真正的表TB_Student行数

print(result_count[0]['count(*)'])

#为表TB_Student增加字段seq

#cursor.execute("alter table TB_Student add seq int;")

#i是列数

#j是插入的数

j=0

n=5

for i in range(1,result_count[0]['count(*)']+1):

#seq的规律是(1234512345612345..)

#当到第6、12、19列需要从新从1开始(j赋值为1)

if j < n:

j = j+1

else:

n = n+1

j=1

print("i:"+str(i)+" j:"+str(j))

sql1="update TB_Student set seq=%s where id=%s"%(j,i)

cursor.execute(sql1)

cursor.execute("select * from TB_Student;")

r1=cursor.fetchall()

print(r1)

#连接完数据库并不会自动提交,所以需要手动 commit 你的改动

db.commit()

db.close()

python修改数据库表结构_python中数据库的相关操作-pymysql相关推荐

  1. 第100篇博文纪念 | C# 根据数据库表结构生成DOC数据库文档

    一.目标 下图是我们要实现的目标: 二.实现 原理非常简单,首先制作样式模版,可以参照文章2,将排版好的Word另存为html,然后复制粘贴到aspx页面中,然后从数据库读取表以及字段信息,动态的插入 ...

  2. python3数据库表关联_Django中数据库操作|python3教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 一.数据库中时间类型 1.三种时间类型:DateTimeField.DataField.TimeField ...

  3. python数据库模糊查询_python中数据库like模糊查询方式

    python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...

  4. python中table表结构_python中的简易表格prettytable

    安装:pip install PrettyTable 普通表格 from prettytable import PrettyTable table = PrettyTable(['编号','云编号', ...

  5. MySQL数据库的终结_python中数据库的操作终结

    1.什么是数据库: 数据库是按照数据结构来组织存储和管理数据的仓库 2.mysql用户设置: (1).进入数据库:mysql -u root -p 然后输入密码:xxxxx (2).里面有个user表 ...

  6. h2数据库表结构转mysql_H2数据库使用 详解

    H2数据库介绍 常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL.其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和 ...

  7. php mysql 查询数据库表结构_mysql查询数据库下的表结构?

    方法:1.使用DESCRIBE命令以表格的形式展示表结构,语法"DESCRIBE 表名;":2.使用"SHOW CREATE TABLE"命令以SQL语句的形式 ...

  8. python修改文件的方法_python中文件操作实现全文或单行替换方法

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开.替换文本中的taste 为 tasting Yesterday when ...

  9. python给视频加背景音乐_python中加背景音乐如何操作

    在python中加背景音乐的方法: 1.导入pygame资源包: 2.修改音乐的file路径: 3.使用init()方法进行初始化: 4.使用load()方法添加音乐文件: 5.使用play()方法播 ...

最新文章

  1. 虚拟化--YESLAB DC Vphere5 上课PDF
  2. 2013 全国高校计算机等级考试(广西考区)一级笔试试题,全国高校计算机等级考试(广西考区)一级笔试试题卷.PDF...
  3. 电脑屏保海底世界_一款电脑桌面锁屏软件:梦幻水族馆(好多鱼)
  4. windows已添加Pin码仍提示添加的解决方法
  5. Scala in depth 6 Scala的类型系统 中
  6. springboot 优雅停机_SpringBoot 优雅停止服务的几种方法 第309篇
  7. Java Web-网页基础-HTML基础
  8. Maven学习总结(35)——Maven项目错误 JAX-RS (REST Web Services) 2.0 can not be installed问题
  9. 腾讯:我火了,新浪:你没有!
  10. wget下载命令使用说明
  11. Linux基础之vim文本编辑器
  12. mysql-connector-java驱动包下载地址收藏 mysql驱动包下载地址
  13. 阿里IOT用AMQP在服务端订阅消息,踩坑
  14. 进程调度之5:系统调用exit与wait4
  15. poi修改excel单元格值导致单元格变成橙色的问题(WPS)
  16. 高境三中计算机老师,立德树人奋进担当,教育脱贫托举希望——高境三中热烈庆祝第三十六个教师节...
  17. 仿新浪微博返回顶部的js实现(jQuery/MooTools)
  18. 驱动器开发:基础概念一览
  19. windows上安装linux_Linux系统安装Windows软件? 通过这个工具可以做到
  20. 烧写android到开发板,烧写开发板_RZMars的技术博客_51CTO博客

热门文章

  1. 密大安娜堡计算机硕士,2020年密歇根大学安娜堡分校一年制硕士含金量
  2. 从零开始学iOS开发的15条建议
  3. 海峡消费报携手HQTS汉斯曼集团,发布中小企业消费数据报告
  4. 记学编程以来第一次找错费时一天的经历——kafka集群创建主题时报错
  5. 打破中国企业类软件成长的怪圈,我找到了方法!
  6. linux开启UDP端口
  7. SAP 01-初识AMDP(ABAP-Managed Database Procedure)
  8. 声母-字母查询工具-词语缩写查询在线工具
  9. 使用PyO3从Python调用 Rust:加速Python
  10. c语言switch case缩进,C语言中的switchnbsp;casenbsp;语句的用法详解