【MySQL】-- 库的操作

news2024/11/24 12:40:15

目录

库的操作

显示数据库

创建数据库

创建数据库案例

删除数据库

删除数据库案例

字符集和校验规则

字符集

校验规则

小结

查看数据库支持的字符集

查看数据库支持的校验规则

校验规则对数据库的影响

不区分大小写

区分大小写

进行查询

结果排序

修改数据库

修改数据库案例

备份和恢复

备份

备份数据库案例

还原

注意事项

查看连接数


库的操作

显示数据库

show database;

创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification] [create_specification] ...

----------------------------------------

更多的SQL选项语句:
 [IF NOT EXISTS] - 如果不存在(创建数据库如果不存在才创建,存在就不创建了)

create_specification: - 创建时的选择项字段
    [DEFAULT] CHARACTER SET charset_name
    [DEFAULT] COLLATE collation_name
说明:
  • 大写的表示关键字
  • [] 是可选项
  • CHARACTER SET:指定数据库采用的字符集(数据库编码)
  • COLLATE:指定数据库字符集的校验规则(数据库校验规则 / 校验码)

创建数据库案例

  • 创建名为 cr 的数据库:

输入: 

create database cr;

输出:  

          说明: 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci。

  • 查看创建的数据库 cr 详细信息:

输入: 

show create database cr;

输出:  

Create Database:

        创建数据库时的SQL语句。可以发现其写的和我们之前写的是不一样的,因为MySQL是大小写不敏感的,可以写大写也可以写小写,其实严格意义上讲写大写是推荐的。

#:仅仅是SQL语句的语法关键字是支持大小写忽略的。

        而一般关于数据库名或表名可以用反引号(键盘的Esc下一个键),也可不。一般是如下列情况采用:

        换而言之:加不加反引号,取决于我们对应的创建的数据库,以及未来的表,它的名称是否和我们的系统当中的某一些关键字冲突 - 正常来讲都得加上

还有后面一大推:

/*!40100 DEFAULT CHARACTER SET utf8 */

        这个东西不是注释,它指的是如果当前我们用的MySQL的版本大于4.01版本,其就会默认执行:

DEFAULT CHARACTER SET utf8

        也就是说:版本小于4.01版本用前面的SQL语句,大于4.01版本前面的SQL语句拼上后面的SQL语句。

删除数据库

语法:

DROP DATABASE [IF EXISTS] db_ name;
执行删除之后的结果:
  • 对应的数据库文件夹被删除,其是级联(递归)删除,里面的数据表全部被删。

#:不要随意删除数据库

删除数据库案例

  • 删除名为 cr 的数据库:(慎重)

输入:

drop database cr;

输出:  

字符集和校验规则

        数据库是用来保存数据的,保存数据的时候,对于一个数据库来讲,必须得有统一的编码。因为编码意味着未来如何去存 / 取,以及最后的识别 / 对比。就如同整数类型和浮点数类型,对于一个二进制类型的解释是不同的。

show variables like 'character_set_database'; - 查看系统字符集
show variables like 'collation_database'; - 查看系统校验规则

MySQL的核心工作:

  • 存数据 - 按照特定的编码来进行存储(数据库的字符集来保证)
  • 取数据 - 比较(筛选的本质)(数据库的校验编码来保证)

字符集

        MySQL在服务启动之后,MySQL内部会存在很多很多的variables,这些variables其实也是在数据库表里面存着的。MySQL在服务启动的时候,有一些常用的variables值可能load到MySQL进程的上下文当中。这个东西就有点像在Linux中所学到的环境变量,环境变量是:一旦我们在Linux中设置好了环境变量,那么我们的进程 / 子进程 / 用户,就能够继承使用我们的环境变量。同样的这个variables一般都是MySQL系统当中的全局的一些变量,这些变量一旦被设置好,默认在使用的时候,创建库 / 表 / 做比较的时候都会采用上面某些设置好的变量。

        这是本人在/etc/my.cnf的配置文件内配置的。 

        服务端的字符编码,全部采用的是utf8

        使用%,类似于Linux的* -- 模糊匹配。

        可以看到,只要使用到/etc/mycnf配置文件,客户端连接通信数据库结果服务端系统都是utf8的,文件系统(将数据写道磁盘上、写道文件里)不考虑,采用的是二进制方案。最后一个是编码集所在的位置。

        也就是为来存数据的时候,保证整个数据库里面存的所有的数据全部都是utf8的。字符集和校验规则(集)必须是匹配的,是MySQL自动匹配的。

校验规则

        utf8_general_ciutf8的通用校验集。

        所以,我们将字符集配utf8之后,其实我们的MySQL默认给我们匹配的校验级就是这个样子,也就是说未来如果想进行存数据的时候,MySQL就按照utf8的方式存。如果想进行数据的比较,查一个字段,采用的比较规则(查找方式)就是utf8_general_ci

        可以看到整个系统当中,无论是连接、数据库内部、服务器内部,清一色都是utf8_general_ci。因为MySQL的配置文件里,我进行了配置当前的规则。

小结

        数据库存和取是有对应的校验规则的,存是有它的编码,取是有它的校验规则,存和取的校验规则必须保持一致。而且我们只需要指明字符集是什么,默认它的校验集MySQL就会自动的确认 -- 二者是有关系的

        所以整个数据库的所有编码都是可预测、可衡量、可确认的,未来再怎么存数据,一旦发现数据库乱码了,至少一定可以确认的是一定不是数据库的问题,一定是当时在存的时候没有指明编码格式,而存过去在数据库里的数据直接被解释为utf8进行了存储,导致最后变成乱码 -- 即:MySQL那里是utf8,交给其的数据也就必须是utf8的

查看数据库支持的字符集

输入:

show charset;

输出: 

        这个是MySQL数据库目前支持的所有编码,并不代表当前是全部都使用,用的哪些 - 就是上面的显示,配置的哪些,字符集主要是控制用什么语言,比如:utf8就可以使用中文。

查看数据库支持的校验规则

输入:

show collation;

输出:  

        这个是MySQL数据库目前支持的所有校验规则(集)。


#问:编码集与校验集是给谁用的?

        是给数据库以及给数据库所对应的表来用的,根上就是给表来用的。创建数据库时,我们可以直接在数据库里面指明这个数据库内部所采用的编码集和校验规则。也就是说,我们在创建数据库的时候,可以指明这个数据库所采用的编码集和校验规则。

之前输入: 

create database cr;

        如果不指明数据库编码集和校验规则,该数据库默认会使用MySQL目前已经配置好的编码集和校验规则的方案 - 但是,想的就是使用默认设置的utf8,所以不指明是主流,并且并不能保证所有的MySQL是默认utf8的,所以配置文件写明主要的是为了确定性。

        创建一个空的数据库,其唯一的一个db.opt文件里面,保存的就是默认的字符集和默认的校验规则。

指明的输入: 

有两种等价的写法:
create database cr charater set gbk;
create database cr charset=gbk;

        先就只指明字符集。

        这次创建的一个空的数据库,其唯一的一个db.opt文件里面,保存的就是指明的字符集,然后还自动的找对应的校验规则。

create database cr charset=utf8 collate utf8_bin;
create database cr charset=utf8 collate=utf8_bin;

        指明字符集与校验规则。 

        这就叫做创建一个对应的数据库的时候,指明编码集和校验规则,这样也可以创建数据库。

校验规则对数据库的影响

#问:设置数据库的编码和校验规则,本质会影响谁?

        在MySQL当中,数据库就是一个目录,所有目录里面放的东西就是未来的表。实际上这些编码和校验规则,并不是影响数据库,其实是影响对应的数据库内部的表,和所对应的编码和校验规则。 

        创建表的时候可以指定编码和校验规则,或者其默认的看设置的数据库的编码和校验规则。所以:

  1. 数据库受:创建数据库的SQL语句的影响 + 系统本身的影响。
  2. 表受:创建表的SQL语句的影响 + 数据库的影响。

        一环扣一环,并且前者SQL语句先。

  • 不区分大小写

建数据库test1 :

        创建一个数据库,校验规则使用utf8_ general_ ci[ 不区分大小写 ]。
create database test1 collate utf8_general_ci;

选择数据库test1 : 

use test1;

        use可以理解为相当于cd进入到某个目录(数据库)的行为。

建表:(此文不讲,只为展示)

create table person(name varchar(20));

插入数据:(此文不讲,只为展示)

insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

查看表:(此文不讲,只为展示)

show tables;

查看表的内容:(此文不讲,只为展示)

select * from person;

  • 区分大小写

        创建一个数据库,校验规则使用utf8_ bin[ 区分大小写 ]
create database test2 collate utf8_bin;

(跟上述操作一样,此处略省略)

建表:(此文不讲,只为展示)

create table person(name varchar(20));

插入数据:(此文不讲,只为展示)

insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
  • 进行查询

1、 不区分大小写的查询以及结果 (此文不讲,只为展示)
use test1;
select * from person where name='a';

2、 区分大小写的查询以及结果 (此文不讲,只为展示)
use test2;
select * from person where name='a';

        会发现上述二者的编码集是一样的utf8,但是二者的校验规则是不一样的,而:utf8_general_ci忽略大小写,utf8_bin严格的按照是否相等的比较查找方式。

补充:

        查看当前自己在什么数据库下。

select database();

        便可以知道现在,在test2数据库中的。可以理解为相当于pwd查看当前路径。

  • 结果排序

1、不区分大小写排序以及结果(此文不讲,只为展示)

use test1;
select * from person order by name;

2、 区分大小写排序以及结果 (此文不讲,只为展示)
use test2;
select * from person order by name;

        就是排序本质就是比较,而比较就需要使用校验规则。

修改数据库

语法:
ALTER DATABASE db_name [alter_spacification] [alter_spacification]...

-------------------------------------

alter_spacification: - 创建时的选择项字段
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
  • 对数据库的修改主要指的是修改数据库的字符集和校验规则。

#:以前MySQL支持对数据库名的修改,但是现在不支持了。

        很好玩的是,我们前面已经讲到的对数据库的理解,在Linux中简易的理解就是一个目录,所以其实利用Linux命令mv就可以修改名。但是千万不要这么干,MySQL不愿意提供就是最有利的证明。并且,会出现其他问题,如对此方式改名的数据库无法删除,所以千万不要这么干(如果你已经干了,那就使用rm删)

        拷贝也一样,我们可以将整个文件拷走,这么干运行上可以,但是行为是违规的、很不好的,都要人家MySQL进行管理了,还越过其进行操作是不合理的。

修改数据库案例

输入:

        将 test 数据库字符集改成 gbk。
alter database test charset=gbk;
alter database test character set gbk;
alter database test charset=gbk collate=gbk_chinese_ci;

输出: 

备份和恢复

需要保证:

  • MySQL服务是启动的。
  • 权限操作是对应的(数据库是自己的)

备份

        我们不使用mysql客户端,而在安装MySQL的时候,其早就考虑到了我们需要做数据库备份,所以给了我们一个mysqldump的工具。

         mysqldump也是一个客户端,通常是用来做数据库备份的。

mysqldump -P 3306 -u root -p (可以在这里显示的写密码) -B 数据库名 > 数据库备份存储的文件路径

备份数据库案例

        将mytest 库备份到文件 (退出连接)
mysqldump -P3306 -uroot -p -B test1 > test1.sql;

        这个时候,可以打开看看test.sql文件里的内容。

[root@ecs-205826 mysql]# cat test1.sql 
-- MySQL dump 10.13  Distrib 5.7.41, for Linux (x86_64)
--
-- Host: localhost    Database: test1
-- ------------------------------------------------------
-- Server version	5.7.41

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `test1`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test1` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `test1`;

--
-- Table structure for table `person`
--

DROP TABLE IF EXISTS `person`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `person` (
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `person`
--

LOCK TABLES `person` WRITE;
/*!40000 ALTER TABLE `person` DISABLE KEYS */;
INSERT INTO `person` VALUES ('a'),('A'),('b'),('B');
/*!40000 ALTER TABLE `person` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2023-05-14 18:36:23

主流数据库的备份方式:

  1. 对数据做备份
  2. 对操作语句做备份mysqldump

融汇贯通的理解:

        我们前面所说的利用Linux命令做的备份,只是将数据内容做备份,但是实际上是数据库历史上被进行的操作,比如说:100次。

        其将我们历史上所有的100条SQL语句全部记录下来,然后其备份就是将历史上的100条数据全部执行一遍,最后的数据库状态就和拷贝的数据库状态一样了。

        所以数据库备份,mysqldump对应的是将历史的所有的SQL语句,全部保留下来做的备份,因为这样比较好,因为数据没有上下文,但是语句有上下文,可以看数据是如何而来,可读性好、效率性不低、好备份。更重要的是执行某些SQL语句的时候,SQL语句后面可以带时间。如果能带时间,后面可以备份某个时间区间内的数据,即执行这个区间内的SQL语句。

(知道就行,此处略微提及)

        并且,可以看出他还对我们的SQL进行了优化,就比如将我们的多次insert变为一次,进行了合并 - 所以其是一个工业型的软件

还原

 source 备份的数据库路径;

输入:

        将之前的数据库删除,再以拷贝的test.sql复原。

source /root/mysql/test1.sql;

输出:

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Database changed
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.02 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

        可以发现他就是将操作语句做备份,然后复原的时候就是执行SQL语句。

注意事项

#: 如果备份的不是整个数据库,而是其中的一张表。

        不用带-P选项。

mysqldump -u root -p 数据库名 表名1 表名2 > 表存放路径

#:同时备份多个数据库。

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
        如果备份一个数据库时,没有带上 -B 参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,才能再使用 source 来还原。所以: 带不带 -B 本质的区别就是,在形成的备份的sql文件里,有没有 create database + 数据库名; 这样的语句,带就是默认将这个语句自动带上,不带就是已经是默认数据库里的SQL语句带上。

查看连接数

show processlist;

        在使用的时候,MySQL甄别有多少人正连接其,是谁连在哪里连连的是哪个数据库当前的状态访问了几次、……。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我爱我家联合第四范式发布房产经纪大模型

5月15日,在我爱我家年度品牌战略发布会上,我爱我家联合第四范式发布“房产经纪大模型”,将大模型能力用于提升行业生产力的原点:赋能经纪人。本次发布的房产经纪大模型1.0版本已经具备了合格经纪人的基本能力,‍‍‍‍…

leetcode 不同路径详解

文章目录 62 . 不同路径题目详情动态规划之带备忘录实现Java完整代码 63. 不同路径 II题目详情动态规划之带备忘录实现Java完整代码 62 . 不同路径 题目详情 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只…

JavaSE进阶(二)—— 面向对象进阶(包、权限修饰符、抽象类、多态)

目录 一、包 1. 什么是包 2. 导包 二、权限修饰符 1. 什么是权限修饰符 2. 权限修饰符的分类和具体作用范围 3. 学完权限修饰符需要具备如下能力 三、final 1. final的作用 2. final修饰变量的注意 四、常量 1. 常量概述和基本作用 1.1 常量做信息配置的原理、优…

【操作系统】I/O管理

文章目录 I/O设备的基本概念和分类I/O设备的分类 I/O控制器I/O设备的组成I/O控制器的组成I/O控制器的两种寄存器编址方式 I/O控制方式程序直接控制方式中断驱动方式DMA方式通道控制方式 I/O软件的层次结构用户层软件设备独立性软件六大功能逻辑设备表—LUT 设备驱动程序中断处理…

免交互的使用

免交互的使用 一、免交互二、小实验三、利用脚本完成的小实验三、Expect 一、免交互 Here Document 免交互 使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如ftp、cat或者read命令。 免交互时标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来…

MySQL查询练习题

一.编程题 有三张表,结构如下: Student(学号StuId,姓名StuName,性别StuSex,出生年月StuBirth) Course(课程号CouId,课程名CouName,授课教师CoouTeacher) SC(学号StuId,课程号CouId,成绩Score,授课教师CouTeacher) 用标准SQL语句完成下列操作…

第六章 介绍Productions - 其他Production 选项

文章目录 第六章 介绍Productions - 其他Production 选项用户门户工作流业务活动监控Alerts发布和订阅消息传递Message Bank 第六章 介绍Productions - 其他Production 选项 本章概述了与制作相关的其他选项。 用户门户 与 Studio 和管理门户等后端工具不同,用户…

免交互 (Here Document)

目录 免交互 (Here Document) 语法格式: 注意事项: 支持变量替换 多行注释 Expect 基本命令: interact 嵌入执行模式 实现 ssh 自动登录 免交互 (Here Document) 使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、c…

阿里云异构计算云服务器GPU、FPGA和EAIS详解

阿里云阿里云异构计算主要包括GPU云服务器、FPGA云服务器和弹性加速计算实例EAIS,随着人工智能技术的发展,越来越多的AI计算都采用异构计算来实现性能加速,阿里云异构计算云服务研发了云端AI加速器,通过统一的框架同时支持了Tenso…

量化数据运算

量化数据运算 文章目录 量化数据运算量化数据乘积仿射映射量化的矩阵运算矩阵表示 矩阵CAB量化方式表示 矩阵CAB 代码展示基于仿射映射量化的矩阵乘法矩阵乘法计算API通过仿射映射量化形式计算两个矩阵的乘法**欢迎关注公众号【三戒纪元】** 量化数据乘积 使用记号&#xff08…

【Java代码审计】XSS漏洞产生原理及其修复

XSS漏洞代码审计 前言XSS漏洞原理1、反射型XSS反射型XSS漏洞审计 2、存储型XSS存储型XSS审计 漏洞修复 前言 笔者已经很长时间没有写过笔记力,经过一年的摸爬滚打也算是走到了代码审计这一关,这些日子也还在为项目和hw周旋,上周终于面试完&a…

今年是很惨,但有人怒砍一大把Offer...

300万字!全网最全大数据学习面试社区等你来! 今天的主人公是一个应届生,同时也是我在训练营辅导的一名同学,在整体经济下行,互联网见顶的情况拿到包括腾讯、蚂蚁、B站等多家互联网大厂Offer。 下面是我站在求职者角度提…

DDL语句DQL语句

SQL学习笔记 DDL语句--操作数据表 /* 快捷键: insert键 在插入 和 替换模式之间切换 ctrl 字母z 撤销上一步操作 tab 往后缩进(默认4个空格) shift tab 往前缩进(默认4个空格) …

基于Java+SpringBoot+Vue学生信息管理设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

重磅发布:《AI产品经理的实操手册(2023版)》

今天是咱们社群“AI产品经理大本营”六周年活动的最后一天,正式发布这份大家和我都非常期待的重磅干货——《AI产品经理的实操手册(2023版)》 上周发布的“AI季度资料包(2023Q2)”,适合对AI初步感兴趣的产品…

《统计学习方法》——隐马尔可夫模型(中)

概率计算算法 直接计算法 给定模型 λ ( A , B , π ) \lambda(A,B,\pi) λ(A,B,π)和观测序列 O ( o 1 , o 2 , ⋯ , o T ) O(o_1,o_2,\cdots,o_T) O(o1​,o2​,⋯,oT​),计算观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。最直接的方法就是…

『python爬虫』23. selenium之窗口切换与iframe(保姆级图文)

目录 1. 窗口切换2. 抓取拉勾网职务信息2.1 拉勾网查看职务详情与价格2.2 完整代码 3. iframe的处理总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 1. 窗口切换 窗口句柄的定义:WebDriver对象有wi…

肝一肝设计模式【八】-- 外观模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 肝一肝设计模式【五】-- 适配器模式 传送门 肝一肝设计模式【六】-- 装饰器模式 传送门 肝…

Windows本地快速搭建SFTP文件服务器,并端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

ChatGPT 和 Elasticsearch:使用 ChatGPT 处理 Elastic 数据的插件

作者:Baha Azarmi 你可能已经阅读过这篇关于我们将 Elasticsearch 的相关性功能与 OpenAI 问答功能相结合的博文。 该帖子的主要思想是说明如何将 Elastic 与 OpenAI 的 GPT 模型结合使用来构建响应并向用户返回上下文相关的内容。 我们构建的应用程序可以公开一个…