9.网络爬虫—MySQL基础

news/2024/7/19 12:25:44 标签: 爬虫, mysql, python

网络爬虫—MySQL基础

    • MySQL安装教程
      • MySQL登录
    • Mysql数据库操作
      • 显示数据库
      • 创建数据库
      • 删除数据库
      • 查询数据库
      • 使用数据库
      • Mysql数据类型
    • Mysql数据表创建
      • Mysql增删查改
    • PyMysql
      • 安装Python的MySQL库
      • 连接数据库
      • 增添字段
      • 操作游标
    • PyMysql插入
    • PyMysql查询
    • PyMysql更新
    • PyMysql删除

前言
🏘️🏘️个人简介:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证
📝​📝第一篇文章《1.认识网络爬虫》获得全站热榜第一python领域热榜第一
🧾 🧾第四篇文章《4.网络爬虫—Post请求(实战演示)》全站热榜第八
🧾 🧾第八篇文章《8.网络爬虫—正则表达式RE实战》全站热榜第十二
🎁🎁《Python网络爬虫》专栏累计发表八篇文章,上榜三篇。欢迎免费订阅!欢迎大家一起学习,一起成长!!
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

在这里插入图片描述

MySQL安装教程

安装教程本章节就不在演示,有需要可以点这里:
mysql安装教程【安装版】

MySQL登录

按住win+R 然后输出cmd,接着按回车
在这里插入图片描述在这里插入图片描述

在这里我们需要输入我们安装数据库时的数据库名称和密码:
格式:mysql -h 主机名 -u 用户名 -p 密码
在这里插入图片描述
出现这些代码,就说明数据库安装成功了,可以正常使用了。

Mysql数据库操作

显示数据库

show databases;
在这里插入图片描述

创建数据库

CREATE DATABASE <数据库名>;
创建一个名为demo的数据库:
在这里插入图片描述
在这里插入图片描述

删除数据库

drop database <数据库名>;
在这里插入图片描述

查询数据库

show databases;

在这里插入图片描述

使用数据库

use <数据库名>;
在这里插入图片描述

Mysql数据类型

数值类型int :4个字节integer:与int同义词float :4个字节double:8个字节
字符串类型char:固定长度字符串varchar: 可变长度字符串
日期/时间类型Date:YYYY-MM-DDDatetime:YYYY-MM-DD HH:MM:SSTime:HH:MM:SS

Mysql数据表创建

功能命令
创建表create table movie_table(title varchar(255) NOT NULL,p1 float(22),date datetime,PRIMARY KEY (title))DEFAULT CHARSET=utf8;
删除表DROP TABLE table_name ;

create table movie_table(title varchar(255) NOT NULL,p1 float(22),date datetime,PRIMARY KEY (title))DEFAULT CHARSET=utf8;
在这里插入图片描述

DROP TABLE movie_table ;
在这里插入图片描述

                               |

Mysql增删查改

sql语句用法
INSERT INTO table_name ( field1, field2,…fieldN )VALUES ( value1, value2,…valueN );INSERT INTO SQL语法
SELECT column_name,column_nameFROM table_name[WHERE Clause][LIMIT N]查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。SELECT 命令可以读取一条或者多条记录。你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据你可以使用 WHERE 语句来包含任何条件。你可以使用 LIMIT 属性来设定返回的记录数。
UPDATE table_name SET field1=new-value1, field2=new-value2[WHERE Clause]你可以同时更新一个或多个字段。你可以在 WHERE 子句中指定任何条件。你可以在一个单独表中同时更新数据。当你需要更新数据表中指定行的数据时 WHERE 子句是非常有用的
DELETE FROM table_name [WHERE Clause]如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。你可以在 WHERE 子句中指定任何条件您可以在单个表中一次性删除记录。当你想删除数据表中指定的记录时 WHERE 子句是非常有用的

在这里插入图片描述

PyMysql

安装Python的MySQL库

pip install pymysql
安装Python的MySQL库

在这里插入图片描述

连接数据库

连接数据库成功
在这里插入图片描述

增添字段

接着我们为表增添字段:
先使用表: use spider001

接着为表增添字段:

python">create table lianjia_table(
    name varchar(255) NOT NULL,
     score varchar(255)  NOT NULL,
     number varchar(255)  NOT NULL,
    introdu varchar(255)  NOT NULL,
    primary key(name)
    )DEFAULT CHARSET=utf8;

创建表的SQL语句,表名为lianjia_table,包含四个字段:name、score、number、introdu。其中,name、score、number、introdu的数据类型均为varchar(255),且均不能为空(NOT
NULL)。表的主键为name。最后,表的字符集为utf8。

在这里插入图片描述

操作游标

cursor = db.cursor() # 操作游标

在这里插入图片描述

创建了一个操作游标对象cursor,用于执行数据库操作。游标是用于遍历和操作结果集的数据库对象。通过游标,可以执行查询、插入、更新、删除等操作,并获取执行结果。执行数据库操作时,需要使用游标对象来执行SQL语句,并获取执行结果。

PyMysql插入

python">data1,data2,data3 =2,'孜然','None'
# SQL 插入语句
sql = """INSERT INTO url_data(
         url_id,
         url_title, 
         url_author)
         VALUES (%s,%s,%s)"""

try:
    # 执行sql语句
    cursor.execute(sql,(data1,data2,data3))
    # 提交到数据库执行
    db.commit()
    print('成功')
except Exception as e:
    # 如果发生错误则回滚
    db.rollback()
    print(f'失败{e}')

  • 第一行代码定义了三个变量 data1、data2 和 data3,分别赋值为 2、‘孜然’ 和 ‘None’。
  • 第三行代码定义了一个 SQL 插入语句,该语句向名为 url_data 的表中插入一条数据,包括三个字段:url_id、url_title和 url_author。
  • 第六行代码通过 cursor.execute() 方法执行 SQL 插入语句,并将 data1、data2 和 data3作为参数传入。这里使用了占位符 %s,这是 MySQLdb模块的写法,表示后面会传入一个元组,元组中的每个值将替换一个占位符。注意,元组中的数据类型必须与 SQL 语句中要插入的数据类型一致。
  • 第八行代码通过 db.commit() 方法提交事务,将数据插入数据库中。如果这一步出现问题,可以通过 db.rollback()方法回滚事务,撤销之前的所有操作。
  • 最后一行代码输出执行结果,如果成功则打印“成功”,如果失败则打印“失败”以及具体的错误信息。

在这里插入图片描述

PyMysql查询

python"># SQL 查询语句
sql = "SELECT * FROM url_data WHERE url_id = 1"
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    print(results)
except:
    print("Error: unable to fetch data")
  • 第一行代码定义了一个 SQL 查询语句,该语句从名为 url_data 的表中查询所有 url_id 等于 1 的记录。
  • 第三行代码通过 cursor.execute() 方法执行 SQL 查询语句,没有传入参数,因为该语句不需要占位符。
  • 第五行代码通过 cursor.fetchall() 方法获取所有查询结果,并将其保存在 results 变量中。注意,该方法只能在查询结果集不为空的情况下使用,否则会抛出异常。
  • 最后一行代码输出查询结果。如果查询成功,则会打印所有符合条件的记录,每条记录都是一个元组,元组中的每个值对应一列数据。

PyMysql更新

python"># 更新
"UPDATE url_data SET url_title = '香蕉' WHERE url_id = 1;"

  • 第一行代码定义了一个 SQL 更新语句,该语句将名为 url_data 的表中 url_id 等于 1 的记录的 url_title 字段更新为 ‘香蕉’。
  • 第二行代码执行 SQL 更新语句,没有使用任何参数,因为该语句不需要占位符。

PyMysql删除

python"># 删除
"DELETE FROM url_data WHERE url_title = '香蕉'"

- 第一行代码定义了一个 SQL 删除语句,该语句将名为 url_data 的表中 url_title 等于 '香蕉' 的记录删除。
- 第二行代码执行 SQL 删除语句,没有使用任何参数,因为该语句不需要占位符。

写在最后:
🧾 🧾实战演示部分可能存在违规,就不在这里展示。本章节的数据库使用写的也不是很详细,仅作学习笔记使用,如有错误,欢迎指正


http://www.niftyadmin.cn/n/189215.html

相关文章

C语言经典100例【实例1】有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

题目&#xff1a;有 1、2、3、4 四个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; 程序分析&#xff1a;可填在百位、十位、个位的数字都是 1、2、3、4&#xff0c;组成所有的排列后再去掉不满足条件的排列。 实例 #include&l…

LeetCode349_349. 两个数组的交集

LeetCode349_349. 两个数组的交集 一、描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2…

【PDF操作】简单的PDF文档签名开源工具

PDF签名仓库介绍介绍使用签名其他仓库介绍 仓库地址 该工具从签名照片中提取文字&#xff0c;并签名到PDF文档的指定位置。除此之外&#xff0c;该仓库还支持其他PDF操作&#xff0c;如合并、OCR、水印功能等。 介绍 该工具接受PDF文件和签名图片作为输入&#xff0c;并输出…

解决tomcat addServlet方法返回空指针的问题

现象&#xff1a; 断点调试发现返回值registration是有值的&#xff1a; 但是通过步进跟踪&#xff0c;发现该代码段又重复执行了一次&#xff0c;此时registration返回null&#xff1a; 此时我还意识到addServlet方法被执行了两次&#xff0c;只是觉得很奇怪&#xff1a;为什么…

如何选电脑

1、CPU&#xff08;中央处理器&#xff09; 怎么看CPU型号&#xff1a;CPU:系列-代数等级核心显卡型号电压后缀 例如CPU:i7-10750H &#xff1a; 1、系列&#xff1a;Intel的酷睿i3、i5、i7、i9这四个系列的CPU&#xff0c;数字越大就代表越高端。 2、代数&#xff1a;代表…

spring七种事务传递机制及其原理

spring事务传递机制原理 首先&#xff0c;我们通过org.springframework.transaction.annotation.Propagation来了解一下spring事务的传播定义&#xff1a; 1. REQUIRED&#xff08;默认&#xff09;&#xff1a; Support a current transaction, create a new one if none exi…

QMS-云质-质量软件-质量成本如何影响企业利润?

-云质QMS原创文章&#xff0c;转载请注明来源- 企业利润来源 企业经营的最终目的是为了产生利润&#xff0c;也就是能赚钱。能让管理层和老板听得懂的语言是利润&#xff0c;利润的公式也非常简单&#xff1a;利润收入-成本&#xff0c;收入越高&#xff0c;成本越低&#xff0…

linux下安装达梦数据库(静默安装)

目录1. 环境准备2. 安装数据库3. 登录使用数据库前言&#xff1a; 本次安装环境使用Anolis8.8&#xff08;阿里开源的一款Linux操作系统&#xff0c;名字叫龙蜥&#xff09; 安装的达梦数据库版本是dm8&#xff08;下载连接&#xff1a;https://eco.dameng.com/download/&#…