当前位置: 首页 > wzjs >正文

起名网站建设网站开发培训

起名网站建设,网站开发培训,wordpress 2018主题,桂城网站制作专业公司MySQL 是现在最流行的关系型数据库管理系统,在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。接下来,让我们快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。 第1关:python数据库编程之创建数据库…

MySQL 是现在最流行的关系型数据库管理系统,在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。接下来,让我们快速掌握
python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

第1关:python数据库编程之创建数据库

Python 如何使用 MySQL?
python 最为强大的一点就是社区的庞大,有着各种方便使用的开源库,使 python 在短短时间内就拥有了大量的用户,并且由于使用库及其简单,可以将其他语言中需要大量代码才能完成的操作浓缩于短短几行代码中。我们这里给出几种用与连接 MySQL 的库:

MySQL-python
mysqlclient
PyMySQL
peewee
SQLAlchemy
可以在命令行中使用pip install (库名)来安装相应的第三方库。

接下来,我们将使用pymysql连接数据库

先安装第三方库
安装第三方库在这里插入图片描述

总览过程:
查看现有的数据库
在这里插入图片描述
创建test_3_21数据库

import pymysql# 连接mysql,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='localhost',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名charset='utf8mb4',   # 设置字符集为utf8mb4,支持存储更多字符集,包括emoji等passwd='123456'      # 用于登录MySQL的密码)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 创建数据库 if not exists,避免重复创建cursor.execute("create database if not exists test_3_21 character set utf8 collate utf8_general_ci")# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

在这里插入图片描述
可以发现,通过python代码就可以创建数据库了。
那么分析一下代码:

第一步
导入第三方库
在这里插入图片描述
第二步建立与数据库的连接
在这里插入图片描述

第三步创建游标
在这里插入图片描述
游标(cursor)是数据库操作的工具,目的是用来执行 SQL 查询和获取查询结果。简而言之,游标是用来“控制”SQL语句执行的对象。

在 MySQL 中,游标负责将 SQL 语句发送到数据库,并负责处理从数据库返回的结果。
每次执行 cursor.execute() 都会发送 SQL 语句到 MySQL 服务器,游标帮助我们处理这些语句并获取执行结果。

第四步操作数据库
在这里插入图片描述
注意:在数据库中有字符集,以及排序规则两个设置
字符集:定义了字符以及字符的编码。
在数据库中默认编码的不同可能导致数据乱码的现象,推荐设置字符集为utf8
创建数据库时在尾部追加default cha\fracter set utf8即可设置
排序规则:是指对指定字符集下不同字符的比较规则。其特征有以下几点:
1、两个不同的字符集不能有相同的排序规则
2、两个字符集有一个默认的排序规则
3、有一些常用的命名规则。如_ci结尾表示大小写不敏感(caseinsensitive),_cs表示大小写敏感(case sensitive),_bin表示二进制的比较(binary).
创建数据库时在尾部追加collate utf8_general_ci即可完成排序规则的设置

第五步结束关闭
在这里插入图片描述

第2关:python数据库编程之创建数据表

前面已经知道了怎么连接mysql,创建数据库了,那么我们怎么在一个数据库中创建表呢

总览过程:
先看一下是否有表
在这里插入图片描述
执行代码

import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='127.0.0.1',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名passwd='123456',     # 用于登录MySQL的密码db='test_3_21',          # 指定要连接的数据库名称charset='utf8mb4'    # 设置字符集为utf8mb4)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 创建表格 students,字段包含 id, name, agecursor.execute("""CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY,  # id为自增主键name VARCHAR(100) NOT NULL,         # 姓名不能为空age INT NOT NULL                    # 年龄不能为空)""")# 提交事务(如果没有commit,表的创建不会生效)conn.commit()# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

查看结果
在这里插入图片描述

第3关:python数据库编程之插入数据

给刚刚创建的student表插入一条数据

过程总览
先看一下表数据
在这里插入图片描述
运行代码

import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='127.0.0.1',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名passwd='123456',     # 用于登录MySQL的密码db='test_3_21',      # 指定要连接的数据库名称charset='utf8mb4'    # 设置字符集为utf8mb4)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 插入一条数据cursor.execute("""INSERT INTO students (name, age) VALUES (%s, %s)""", ("John Doe", 25))  # 插入一名名为 John Doe,年龄为 25 的学生# 提交事务,确保插入数据生效conn.commit()# 输出插入的结果print("Inserted a new student into the 'students' table.")# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

运行结果
在这里插入图片描述
因为我们设置了表是自增的,所以默认从1开始

第4关:python数据库编程之查询数据

使用python代码查看刚刚的数据
代码

import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='localhost',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名passwd='123456',     # 用于登录MySQL的密码db='test_3_21',      # 指定要连接的数据库名称charset='utf8mb4'    # 设置字符集为utf8mb4)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 查询 students 表中的所有数据cursor.execute("SELECT * FROM students")# 获取查询结果results = cursor.fetchall()# 显示表中的数据print("\nStudents table contents:")print("ID | Name       | Age")print("-" * 30)for row in results:print(f"{row[0]}  | {row[1]:<10} | {row[2]}")# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

运行结果
在这里插入图片描述

第5关:python数据库编程之修改数据

把刚刚插入的数据名字改成张三
代码

import pymysql# 连接mysql,连接数据库test_3_21,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='localhost',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名passwd='123456',     # 用于登录MySQL的密码db='test_3_21',      # 指定要连接的数据库名称charset='utf8mb4'    # 设置字符集为utf8mb4)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 修改 students 表中的数据,将 id = 1 的记录的名字改为 "张三"cursor.execute("""UPDATE students SET name = %s WHERE id = %s""", ("张三", 1))# 提交事务,确保修改生效conn.commit()print("Updated the name to '张三' for student with id = 1.")# 查询 students 表中的所有数据以验证修改cursor.execute("SELECT * FROM students")# 获取查询结果results = cursor.fetchall()# 显示表中的数据print("\nStudents table contents after update:")print("ID | Name       | Age")print("-" * 30)for row in results:print(f"{row[0]}  | {row[1]:<10} | {row[2]}")# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

结果
在这里插入图片描述

第6关:python数据库编程之删除数据

删除记录是张三的记录
代码

import pymysql# 连接mysql,连接数据库test_3_21,创建连接并返回连接对象
def connect():conn = pymysql.connect(host='127.0.0.1',    # MySQL服务器的IP地址port=3306,           # MySQL服务器的端口号user='root',         # 用于登录MySQL的用户名passwd='123456',     # 用于登录MySQL的密码db='test_3_21',      # 指定要连接的数据库名称charset='utf8mb4'    # 设置字符集为utf8mb4)return conndef test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 删除 students 表中名字为 "张三" 的数据cursor.execute("""DELETE FROM students WHERE name = %s""", ("张三",))# 提交事务,确保删除生效conn.commit()print("Deleted student(s) with name '张三' from the 'students' table.")# 查询 students 表中的所有数据以验证删除cursor.execute("SELECT * FROM students")# 获取查询结果results = cursor.fetchall()# 显示表中的数据print("\nStudents table contents after deletion:")print("ID | Name       | Age")print("-" * 30)if results:for row in results:print(f"{row[0]}  | {row[1]:<10} | {row[2]}")else:print("The table is empty.")# 关闭游标cursor.close()# 关闭连接conn.close()# 执行函数
if __name__ == "__main__":test()

结果
在这里插入图片描述

http://www.dtcms.com/wzjs/136576.html

相关文章:

  • 青岛胶州网站建设网络推广主要是做什么工作
  • 长沙做网站多少钱seo关键词排名优化怎么收费
  • wordpress主题博客主题seo入门培训课程
  • lnmp搭建网站优化seo设置
  • 一般网站服务费怎么入账做分录app推广方案
  • 中英文网站怎么做电脑优化大师官方免费下载
  • 灵芝产品网站建设方案网络广告设计
  • 与别人相比自己网站建设优势seo快速排名关键词
  • 内蒙古住房城乡建设厅网站搜什么关键词比较刺激
  • 长沙英文网站建设公司北京网站提升排名
  • wordpress去掉评论注册深圳知名seo公司
  • 苏州网站建设企业网站制作免费发布友链
  • 可以发布项目的平台seo网络营销外包公司
  • 邢台推广网站建设电话百度指数免费查询
  • 凡科企业网站如何建设欧美网站建设公司
  • 简单网站制作东莞外贸优化公司
  • 政府门户网站管理建设总结揭阳seo快速排名
  • 检察院网站建设宁波网站制作优化服务
  • 单页网站怎么优化关键词优化有哪些作用
  • 哪里需要人做钓鱼网站seo竞价
  • 微信做网站支付工具seo公司推荐
  • 真如做网站郑州网站定制
  • 专业的丹徒网站建设营销管理培训课程培训班
  • 广州市网站建设服务机构怎样在百度发广告贴
  • 重庆祥云平台做网站seow是什么意思
  • 网站文字模板最有效的app推广方式有哪些
  • 北京网站制作公司seo流量优化
  • 如何在网站后台备份数据库pr的选择应该优先选择的链接为
  • 数据查询网站模板建网站找哪个公司
  • wordpress 远程 mysql网站seo搜索