pycharm操作mysql数据库 创建表 向表中插入数据 操作mysql数据库查询 修改 删除数据

pycharm操作mysql数据库 创建表 向表中插入数据 操作mysql数据库查询 修改 删除数据1 安装 PyMySQL 模块语法为 pipinstallPy 集成环境里面操作 MySQL 数据库创建表 导入 pymysqlimpor 创建连接 con pymysql connect host localhost user root password root database test port 3

1,安装PyMySQL模块

2,集成环境里面操作MySQL数据库创建表

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写创建表的sql sql = """ create table python_student( sno int primary key auto_increment, sname varchar(30) not null, age int(2), score float(3,1) ) """ try: # 执行创建表的sql cur.execute(sql) print("创建表成功") except Exception as e: print(e) print("创建表失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

可打开Navicat查看创建完成的表

3,向创建的表中插入数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写插入数据的sql sql = "insert into python_student (sname,age,score) values (%s, %s, %s)" try: # 执行sql cur.execute(sql, ("小强", 18, 99.5)) con.commit() print("插入数据成功") except Exception as e: print(e) con.rollback() print("插入数据失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

2,插入多条数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写插入数据的sql sql = "insert into python_student (sname,age,score) values (%s, %s, %s)" try: # 执行sql cur.executemany(sql, [("小强", 18, 97.5),("小二", 19, 98.5),("小五", 20, 99.5)]) con.commit() print("插入数据成功") except Exception as e: print(e) con.rollback() print("插入数据失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

4,操作mysql数据库查询所有数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写查询的sql sql = "select * from python_student" try: # 执行sql cur.execute(sql) # 处理结果集 students = cur.fetchall() for student in students: # print(student) sno = student[0] sname = student[1] age = student[2] score = student[3] print("sno",sno,"sname",sname,"age",age,"score",score) except Exception as e: print(e) print("查询所有数据失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

5,查询mysql数据库的一条数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写查询的sql sql = "select * from python_student where sname='小二'" try: # 执行sql cur.execute(sql) # 处理结果集 student = cur.fetchone() print(student) sno = student[0] sname = student[1] age = student[2] score = student[3] print("sno",sno,"sname",sname,"age",age,"score",score) except Exception as e: print(e) print("查询所有数据失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

6,操作mysql数据库修改数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写修改的sql sql = 'update python_student set sname=%s where sno=%s' try: # 执行sql cur.execute(sql, ("薛宝钗", 1)) con.commit() print("修改成功") except Exception as e: print(e) con.rollback() print("修改失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 

7,操作mysql数据库删除数据

# 导入pymysql import pymysql # 创建连接 con = pymysql.connect(host="localhost", user="root", password="root", database="test", port=3306) # 创建游标对象 cur = con.cursor() # 编写删除的sql sql = 'delete from python_student where sname=%s' try: # 执行sql cur.execute(sql, ("薛宝钗")) con.commit() print("删除成功") except Exception as e: print(e) con.rollback() print("删除失败") finally: # 关闭游标连接 cur.close() # 关闭数据库连接 con.close() 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233410.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java months between,ORACLE函数MONTHS_BETWEEN

    java months between,ORACLE函数MONTHS_BETWEEN因系统折旧月份是按当月是否满15天来算是否为一个月,故此研究了下MONTHS_BETWEEN已适应折旧的逻辑官网函数说明:MONTHS_BETWEENreturnsnumberofmonthsbetweendatesdate1anddate2.Ifdate1islaterthandate2,thentheresultispositive.Ifdate1…

    2022年7月12日
    13
  • 路由器5g启用视频网络_聚合路由器是什么

    路由器5g启用视频网络_聚合路由器是什么5G版聚合路由器加速释放超高清视频传输应用随着物联网5G商用步伐的加速和5G网络建设的突飞猛进,2022年无疑成为5G向千行百业拓展落地的关键之年。作为“新基建”的领头羊,5G已凝聚产业链力量,蓄势待发为行业的智能化和数字化转型赋能,为新一轮经济增长提速。作为5G技术在超高清视频传输领域应用的领先代表,推出了最新一代5G高速物联网QYT-X1S聚合路由器,可支持构建点对点安全传输链路,支持移动/联通/电信混用,实现多达7条2G/3G/4G/5G/卫星、有线聚合,成为5G应用落地的重点项目之一。5G要

    2022年10月4日
    2
  • 无锁编程技术及实现「建议收藏」

    无锁编程技术及实现「建议收藏」1.基于锁的编程的缺点 多线程编程是多CPU系统在中应用最广泛的一种编程方式,在传统的多线程编程中,多线程之间一般用各种锁的机制来保证正确的对共享资源(share resources)进行访问和操作。在多线程编程中只要需要共享某些数据,就应当将对它的访问串行化。比如像++count(count是整型变量)这样的简单操作也得加锁,因为即便是增量操作这样的操作,,实际上也是分三步进行的:读、改、写(回…

    2022年6月10日
    41
  • 构造有参数的线程ParameterizedThreadStart

    构造有参数的线程ParameterizedThreadStart构造有参数的线程就得需要用到ParameterizedThreadStart,查看从元数据可以看出ParameterizedThreadStart是一个委托,参数类型必须是Object类型。我们通过线程对象的Start方法可以将参数传入,如thread.Start(“20191230”),此时参数“20191230”就会传递给子线程要执行的方法。代码:classProgram…

    2022年7月15日
    16
  • 800个有趣句子帮你记忆7000个单词[通俗易懂]

    800个有趣句子帮你记忆7000个单词[通俗易懂]800个有趣句子帮你记忆7000个单词   1.WithmyownearsIclearlyheardtheheartbeatofthenuclearbomb.我亲耳清楚地听到原子弹的心脏的跳动。 2.Nextyearthebeardedbearwillbearadearbabyintherear.明年,长胡子的熊将

    2022年6月7日
    26
  • FindWindowEx 遍历所有窗口

    FindWindowEx 遍历所有窗口 FindWindowEx 唯一麻烦是第2个参数的指定.Explore下窗口是Z序的 ,实际上就是根据第一个参数和第2个参数来找第2个参数后的一个窗口:HWNDchild=0;child=FindWindowEx (NULL,child,NULL,NULL);这样,child就是一个Explore,然后,通过循环能够找到c…

    2022年6月1日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号