网络爬虫—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
接着为表增添字段:
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插入
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查询
# 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更新
# 更新"UPDATE url_data SET url_title = '香蕉' WHERE url_id = 1;"
第一行代码定义了一个 SQL 更新语句,该语句将名为 url_data 的表中 url_id 等于 1 的记录的 url_title 字段更新为 ‘香蕉’。第二行代码执行 SQL 更新语句,没有使用任何参数,因为该语句不需要占位符。 PyMysql删除
# 删除"DELETE FROM url_data WHERE url_title = '香蕉'"- 第一行代码定义了一个 SQL 删除语句,该语句将名为 url_data 的表中 url_title 等于 '香蕉' 的记录删除。- 第二行代码执行 SQL 删除语句,没有使用任何参数,因为该语句不需要占位符。
写在最后:
? ?实战演示部分可能存在违规,就不在这里展示。本章节的数据库使用写的也不是很详细,仅作学习笔记使用,如有错误,欢迎指正。