Mysql基础语句
一、 MySQL语句
在熟悉安装及访问 MySQL 数据库以后, 接下来将学习使用 MySQL 数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。 本节中的所有数据库语句均在“MySQL>”操作环境中执行
MySQL 是一套数据库管理系统,在每台 MySQL 服务器中,均支持运行多个数据库,每个数据库存放着许多表, 如图所示。
(一) MySQL数据库的操作
1、 查看数据库
查看数据库有3种方式
(1) 第一种直接进入数据库查看
MySQL> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| MySQL |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
1:information_schema这个数据库保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型,访问权限等。 [ˈskimə]
2:performance_schema 这是MySQL5.5新增的一个性能优化的引擎:命名PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表,
3:MySQL库是系统库,里面保存有账户信息,权限信息等。
4:MySQL5.7后增加了sys 系统数据库,sys数据库里面包含了一系列的存储过程、自定义函数以及视图来帮助我们快速的了解系统的元数据信息,元数据是关于数据信息的数据,如数据库名或表名,列的数据类型,或访问权限等。
(2) 以行的方式显示
MySQL> show databases \G #以行的方式显示
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: MySQL
*************************** 3. row ***************************
Database: performance_schema
*************************** 4. row ***************************
Database: sys
4 rows in set (0.00 sec)
(3) 在shell中查看
MySQL -e后面直接跟sql语句,这种方式一般是在shell脚本中用到
[root@localhost ~]# MySQL -e 'show databases' -uroot -pAbcd1234
MySQL: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database |
+--------------------+
| information_schema |
| MySQL |
| performance_schema |
| sys |
+--------------------+
2、创建数据库
(1) 语法
create database 数据库名;
(2)创建数据库注意事项
1、在文件系统中,MySQL的数据存储区以目录方式表示MySQL数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有\,/,:,*,?,”,<,>,|这些特殊符号,在MySQL数据库名字中这些字母会被自动删除。
[root@localhost ~]# ls /data/MySQL/data/
auto.cnf ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ibtmp1 MySQL performance_schema sys
2、数据库的名字不能超过64个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字必须用反引号``括起来。
3、数据库不能重名
(3)创建一个数据库
MySQL> create database HA;
Query OK, 1 row affected (0.00 sec)
MySQL> create database `HA-test`;
Query OK, 1 row affected (0.00 sec)
(4) 查看数据库
MySQL> show databases;
(5) 查看数据库目录
我们可以去数据目录下查看新创建的数据库目录
[root@localhost ~]# ls /data/MySQL/data/
注:建议数据名不要包含特殊符号或是纯数字的。
3、选择要操作的数据库
我们需要使用哪个数据库,就用use进行选择,后面的操作默认都是在被选择的数据库中进行操作。
MySQL> use HA-test;
Database changed
4、 查看自己在所处的位置
MySQL> select database();
5、 在命令行选择默认的数据库
我们也可以在命令行直接选择我们需要进入的数据库
[root@localhost ~]# MySQL -uroot -pAbcd1234 HA-test
MySQL> select now(),user(),database();
6、删除数据库
(1)命令
MySQL> drop database `HA-test`;
Query OK, 0 rows affected (0.01 sec)
(2)使用IF EXISTS 子句以避免删除不存在的数据库时出现的MySQL错误信息 exists [ɪɡˈzɪst]
MySQL> drop database if exists `HA-test`; #如果存在则删除
Query OK, 0 rows affected, 1 warning (0.00 sec)
也可以在创建数据库时使用
MySQL> create database if not exists HA; #if not exists 如果不存在则创建
Query OK, 1 row affected (0.00 sec)
(二) 关于表的操作
1、创建表create:
语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);
MySQL> use HA;
Database changed
MySQL> create table student(id int(20),name char(40),age int);
Query OK, 0 rows affected (0.02 sec)
其中id字段(列)定义为整数类型,也就是说id字段的值为整数,name字段定义为字符类型,也就是说name字段的值只能输入字符型数据。
2、 查看表相关信息
MySQL> use HA;
Database changed
MySQL> show tables;
3、 查看表结构
使用desc 命令来查看表的结构
MySQL> desc student;
4、查看创建表执行的命令
MySQL> show create table student \G;
5、指定默认存储引擎和字符集
新建一个表,指定默认的存储引擎为InnoDB,编码为utf8
MySQL> create table student2(id int(20),name char(40),age int) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)
MySQL> show create table student2 \G
6、 删除表
MySQL> drop table student2;
Query OK, 0 rows affected (0.01 sec)
7、 禁止预读表信息
没有禁止前转换数据库会有提示信息
MySQL> use MySQL;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with –A
解决这个问题可以在登陆MySQL的时候添加参数-A
[root@localhost ~]# MySQL -uroot -pAbcd1234 -A
MySQL> use MySQL;
Database changed #发现没有提示信息了
8、MySQL数据类型
数据类型的作用:用来约束将来录入数据的格式。
MySQL的常用数据类型包括整数类型,浮点数类型,日期和时间类型,字符串类型,ENUM枚举类型等。
数值类型:
日期和时间类型:
字符串类型:
char和varchar区别
char类型:
CHAR(M)定义的列的长度为固定的,M取值可以为0~255之间
当保存CHAR值时,一次性分配指定长度的存储空间,使用空格字符填充剩余空间。当检索到CHAR值时,尾部的空格被删除掉。
优点:
char定长字符存储,效率较高,比如手机号11位很适合
缺点:
定长长度的字符串比较浪费空间的
Varchar类型:
VARCHAR(M)定义的列的长度为可变长字符串,M取值可以为0~65535之间。
VARCHAR存储变长数据,保存时只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节)。
如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么"+1"呢?这一个字节用于保存实际使用了多大的长度。
优点:
varchar相对char来讲更省空间
缺点:
在存数据时,效率低点
总结:从空间上考虑,用varchar合适;从效率上考虑,用char合适。
枚举类型:
枚举类型字段的值,必须从预先定义好的字符串集合中选取。
ENUM(value1, value2,value3,...)
ENUM(枚举):只能取一个,用于互斥。例如性别字段只能是男人或女人。
下面我们创建一个学生信息表,包括学号、姓名、性别、年龄、电话号码和住址字段,每个字段要有注释描述。
MySQL> create database db01;
MySQL> use db01
MySQL> create table stu_info(id int comment '学号', name varchar(20) comment '姓名', age tinyint comment '年龄', ', sex enum('男','女') comment '性别', phone_number char(11) comment '电话号码', address varchar(255) comment '住址') engine=innodb default charset=utf8;
MySQL> desc stu_info;
9、修改表名称 alter
语法:alter table 表名 rename 新表名;
修改db01库中stu_info表名为student_info
MySQL> alter table stu_info rename student_info;
Query OK, 0 rows affected (0.02 sec)
MySQL> show tables;
10、 修改表中的字段类型
语法:alter table 表名 modify 要修改的字段名要修改的类型;
查看student_info表结构
MySQL> desc student_info;
修改字段name 的varchar(20)字段类型为varchar(30)
MySQL> MySQL> alter table student_info modify name varchar(30);
查看修改完的student_info表结构
MySQL> desc student_info;
11、 修改表中的字段类型和字段名称
语法:alter table 表名 change 原字段名 新字段名 新字段类型;
MySQL> alter table student_info change age birthday datetime comment '出生日期';
MySQL> desc student_info;
注:CHANGE 和MODIFY的区别:
CHANGE 对列进行重命名和更改列的类型,需给定旧的列名称和新的列名称、数据类型。 MODIFY 可以改变列的类型,此时不需要重命名(不需给定新的列名称)
12、 在表中添加字段:
语法:alter table 表名 add字段名 字段类型;
enum #枚举类型,比如血型,只能在a、b、o、ab中选择。
MySQL> alter table student_info add blood_type enum('o','a', 'b', 'ab');
MySQL> desc student_info;
13、 在表中指定位置添加字段
(1) 在第一列添加一个字段
MySQL> alter table student_info add uid int first;
MySQL> desc student_info;
(2)在phone_number后面添加一个class字段
MySQL> alter table student_info add class char(40) after phone_number;
14、删除表中字段
语法:alter table 表名 drop 字段名 ;
MySQL> alter table student_info drop uid;
MySQL> desc student_info;
发现表中uid字段不见了
(三) 关于表中记录的操作
1、 插入记录——INSERT
INSERT INTO 语句用于向表中插入新的行。
语法:insert into 表名values (字段值1,字段值2, 字段值3);
插入记录时values所指定的值要和表中字段的个数、顺序以及类型要一一对应。
在student_info表中插入数据
MySQL> insert into student_info values(1,'tom','2005-11-11','男','13311111111','c100','北京市昌平区沙河镇','ab');
Query OK, 1 row affected (0.01 sec)
insert执行成功后,可以使用select查询表中的数据,select语句在后面会详细讲解。这里只要会用就可以。
MySQL> select * from student_info;
2、 同时插入多条记录
MySQL> insert into student_info values(2,'kim','2007-9-11','男','13522222222','c100','北京市朝阳区团结湖','o')); ,(3,'mary','2006-4-22','女','13522222222','c100','北京市昌平区政府街','b');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
查看插入的数据行
MySQL> select * from student_info;
3、 分开插入表记录
我们也可以指定所要插入数据的字段:
语法:
INSERT INTO table_name (字段1, 字段2,...) VALUES (字段值1, 字段值2,....)
例如:向students表中的id,name字段插入数据
MySQL> insert into student_info(id,name,sex,blood_type) values(4,'alice','女','ab');
Query OK, 1 row affected (0.00 sec)
查看插入的数据行
MySQL> select * from student_info;
4、 将一个表的查询结果插入另一个表中
创建t1表,将student_info表的查询结果插入到t1表
MySQL> create table t1(name varchar(30),sex enum('男','女'),class char(40));
MySQL> desc t1;
MySQL> insert into t1 (name,sex,class) select name,sex,class from student_info;
MySQL> select * from t1;
5、 查询表中记录——select
SELECT 语句用于从数据库表中读取数据。
语法:
select * from 表名; # *号表示表中所有的字段
(1) 查询student表中所有记录
事先创建students表,然后执行insert插入几行数据。
MySQL> select * from students;
(2) 当表中记录比较多时可以使用\G查看
MySQL> select * from student\G
(3)只查询表中某个字段或某些字段的内容
MySQL> select name from students;
MySQL> select id,name from students;
(4)查看别的数据库的表或者不在本数据库上进行查看
语法:SELECT 字段 FROM 数据库名.表名;
效果等同于先使用use数据库,然后再看看表内容
MySQL> select * from HA.students;
6、删除表中记录——delete
DELETE语句用于删除表中的记录。
语法:
DELETE FROM table_name WHERE some_column=some_value;
请注意 SQL语句中的 WHERE 条件子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!
(1)删除students表中id为3的行
MySQL> delete from students where id=3;
Query OK, 1 row affected (0.00 sec)
MySQL> select * from students; #发现表中id为3的记录不见了
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | zhangs | 21 |
| 2 | lis | 24 |
| 4 | hangl | NULL |
+------+--------+------+
3 rows in set (0.00 sec)
(2) 删除age为空的行
MySQL> delete from students where age is null;
Query OK, 1 row affected (0.00 sec)
MySQL> select * from students;
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | zhangs | 21 |
| 2 | lis | 24 |
+------+--------+------+
2 rows in set (0.00 sec)
7、 更新记录——update
update 语句用于修改表中的数据。
语法:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
请注意 SQL UPDATE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!
(1) 把表中id为2的记录age更新为25
MySQL> update students set age=25 where id=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL> select * from students;
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | zhangs | 21 |
| 2 | lis | 25 |
+------+--------+------+
2 rows in set (0.01 sec)
(2)把表中所有的id都更新为2
MySQL> update students set id=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 2 Changed: 1 Warnings: 0
MySQL> select * from students;
(3)同时更新多个字段的值,请使用逗号隔开
MySQL> update students set id=1,name='zhangsan' where age=21;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL> select * from students;
3、 SQL条件查询语句
首先往表中插入一些数据
MySQL> insert into students values(2,'lisi',23),(3,'wange',26),(4,'libin',28),(5,'tom',30),(6,'sorry',24);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
(1) 查询STUDENTS表中的NAME,AGE
MySQL> select name,age from students;
可以看到表中有重复的数据lisi
(2)去重复查询distinct
MySQL> select distinct name,age from students; #可以看见重复的行不在了
4、 使用AND和OR进行多条件查询
(1)查询表中id>3和age>25的记录
MySQL> select id,name,age from students where id>3 and age>25;
(2) 查询表中id>3 或者 age>25的记录
MySQL> select id,name,age from students where id>3 or age>25;
5、MySQL区分大小写查询binary
MySQL默认查询是不区分大小写的
BINARY是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
插入大写记录
MySQL> insert into students values(7,'KILL',32),(8,'kill',32);
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
MySQL> select name from students where name='kill';
区分大小写查询
MySQL> select * from students where binary name='kill';
MySQL> select * from students where binary name='KILL';
6、 MySQL查询排序
语法:select字段1,字段2 from 表名order by 字段名;
(1) 默认为升序asc
MySQL> select id from students order by id asc;
(2)降序desc
MySQL> select id from students order by id desc;
6、关于MySQL命令帮助
help会告诉我们很多使用方法和信息
MySQL> help show;
MySQL> help select;
相关文章:
Mysql基础语句
一、 MySQL语句 在熟悉安装及访问 MySQL 数据库以后, 接下来将学习使用 MySQL 数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。 本节中的所有数据库语句均在“MySQL>”操作环境中执行 MySQL 是一套数据库管理系统,在每台 MySQ…...
网络通信基础:端口、协议和七层模型详解,网络安全零基础入门到精通实战教程!
一、端口和协议的概念 1.在网络技术中,端口(Port) 大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。 二是逻辑意义上的端口&…...
【力扣Hot 100】栈2
5. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: !https://assets.leetcode.com/uploads/2021/01/04/histogram.jpg …...
1. Linux下 MySQL 的详细安装与使用
1. Linux下 MySQL 的详细安装与使用 文章目录 1. Linux下 MySQL 的详细安装与使用1. Linux 下安装 MySQL8.0 的详细安装步骤:2. Linxu 当中的MySQL 设置远程登录3. 最后: 1. Linux 下安装 MySQL8.0 的详细安装步骤: 查看是否安装过MySQL&…...
Idea24.3 如何设置Git忽略某一个文件
文章目录 左上角找到commit选中你要忽略的文件 右键New Changelist给这个文件夹名称和描述 点击ok将要忽略的文件添加到这个文件夹 左上角找到commit 选中你要忽略的文件 右键New Changelist 给这个文件夹名称和描述 点击ok 将要忽略的文件添加到这个文件夹...
2025-02-20 学习记录--C/C++-PTA 7-27 冒泡法排序
一、题目描述 ⭐️ 二、代码(C语言)⭐️ /** * 冒泡法实现升序 */#include <stdio.h>int main() {int N, // 整数个数 6K, // 扫描遍数 2num, // 待排序的整数 2 3 5 1 6 4numArr[100], // 待排序的整数合集 2 3 5 1…...
如何修改Windows系统Ollama模型存储位置
默认情况下,Ollama 模型会存储在 C 盘用户目录下的 .ollama/models 文件夹中,这会占用大量 C 盘空间,增加C盘“爆红”的几率。所以,我们就需要修改Ollama的模型存储位置 Ollama提供了一个环境变量参数可以修改Ollama的默认存在位…...
【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
NPM如何更换淘宝镜像——Node.js国内镜像配置教程
在国内使用 npm 安装 Node.js 包时,由于网络环境的原因,下载速度可能非常慢。为了解决这个问题,很多开发者会选择使用淘宝镜像(现在由 npmmirror.com 维护)。本文将带你一步一步完成更换 npm 源为淘宝镜像的配置&#…...
汽车免拆诊断案例 | 2010 款路虎揽胜车空调偶尔出风异常
故障现象 一辆2010款路虎揽胜车,搭载5.0 L发动机,累计行驶里程约为16万km。车主反映,接通空调开关后,有时出风忽大忽小,有时不出风,有时要等2 min左右才出风;有时两三天出现一次,…...
pytorch3d安装记录
官方安装教程: https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md 通过pip 或conda 可以很容易安装上预编译好的包, 安装过程不会报错, 但是使用的时候就会报各种错误 ,原因是预编译好的包跟自己的环境不一定…...
服务器通过 ollama 运行deepseek r1
1、服务器环境简介 56核 CPU64G 内存无显卡已安装 Ollama 2、下载模型与配置 正常可以通过 ollama pull 或 ollama run 命令直接下载,但通常会遇到连接超时、找不到网址等总理。因此,可以使用国内的模型站进行下载,在这里使用魔塔查找模型…...
ollama stream“:True django如何返回数据
在使用 Django 框架开发 Web 应用时,如果你想要通过 Ollama 流式返回数据,你可以通过 Django 的 HttpResponse 或者 StreamingHttpResponse 来实现。Ollama 主要用于处理文本生成任务,如聊天机器人、自动完成等,通常这些任务会产生…...
RabbitMQ 消息队列
1. 消息队列是什么? 当用户注册成功后,就发送邮件。当邮件发送成功了,接口才会提示注册成功信息。但由于发送邮件,依赖于其他厂商的服务,有可能他们的接口会非常耗时。那么用户就一直要等着邮件发送成功了,…...
idea从远程gitee拉取项目
文章目录 从gitee上面拿到项目地址填写远程地址,并且设置项目保存位置拉取成功 从gitee上面拿到项目地址 填写远程地址,并且设置项目保存位置 拉取成功...
PHP集成软件用哪个比较好?
在Windows环境下,使用PHP时,通常需要一个集成开发环境(IDE)或者集成软件来简化开发和调试过程。以下是几款常用且推荐的PHP集成软件,每款都有其特点,可以根据需求进行选择: 1. XAMPP 特点&…...
Es的text和keyword类型以及如何修改类型
昨天同事触发定时任务发现es相关服务报了一个序列化问题, 今天早上捕获异常将异常堆栈全部打出来看,才发现是聚合的字段不是keyword类型的问题。 到kibbna命令行执行也是一样的错误 使用 /_mapping查看索引的字段类型,才发现userUniqueid是te…...
【找工作】C++和算法复习(自用)
文章目录 C头文件自定义排序函数stl 算法数据结构树状数组 数学 自用随便记录 C 排序 stl 头文件 全能头文件: #include<bits/stdc.h>自定义排序函数 bool compare(const int &odd1,const int &odd2) {return odd1>odd2; }stl 枚举map map&…...
Python VsCode DeepSeek接入
Python VsCode DeepSeek接入 创建API key 首先进入DeepSeek官网,https://www.deepseek.com/ 点击左侧“API Keys”,创建API key,输出名称为“AI” 点击“创建",将API key保存,复制在其它地方。 在VsCode中下载…...
开放表格式和对象存储架构指南
比较 Apache Iceberg、Delta Lake 和 Apache Hudi,并了解如何为您的数据湖仓一体选择合适的开放表格式。开放表格式和对象存储正在重新定义组织构建其数据系统的方式,为可扩展、高效且面向未来的数据湖仓一体奠定了基础。通过利用对象存储的独特优势&…...
Netty入门详解
引言 Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能网络服务器和客户端。它提供了一组丰富的 API,使得开发人员能够轻松地处理各种网络协议,如 TCP、UDP 等,并且支持多种编解码方式&a…...
我国首条大型无人机城际低空物流航线成功首航
首航震撼开场:羊肉 “飞” 越 540 公里 在夜色的笼罩下,榆阳马合通用机场的跑道上,一架大型固定翼无人机蓄势待发,机身被灯光照亮,宛如一只即将展翅翱翔的钢铁巨鸟。它的货舱里,满满装载着新鲜的榆林羊肉&a…...
【数据挖掘】--算法
【数据挖掘】--算法 目录:1. 缺失值和数值属性处理1缺失值处理: 2. 用于文档分类的朴素贝叶斯3. 分治法:建立决策树4. 覆盖算法建立规则5. 挖掘关联规则6. 线性模型有效寻找最近邻暴力搜索(Brute-Force Search)kd树&am…...
C++初阶——简单实现vector
目录 1、前言 2、Vector.h 3、Test.cpp 1、前言 简单实现std::vector类模板。 相较于前面的string,vector要注意: 深拷贝,因为vector的元素可能是类类型,类类型元素可以通过赋值重载,自己实现深拷贝。 迭代器失效…...
三、Three.js模型对象、材质
一、三维向量Vector3与模型位置 点模型Points、线模型Line、网格网格模型Mesh等模型对象的父类都是Object3D,如果想对这些模型进行旋转、缩放、平移等操作,如何实现,可以查询Threejs文档Object3D对相关属性和方法的介绍 1、三维向量Vector3 …...
C# 背景 透明 抗锯齿 (效果完美)
主要是通过 P/Invoke 技术调用 Windows API 函数 gdi32.dll/user32.dll,同时定义了一些结构体来配合这些 API 函数的使用,常用于处理图形绘制、窗口显示等操作。 运行查看效果 局部放大,抗锯齿效果很不错,尾巴毛毛清晰可见。 using System; u…...
Ubuntu 22.04 一键部署MinerU1.1.0
MinerU MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中,我们将会集中精力解决科技文献中的符号转化问题,希望在大模型时代为科技发…...
10、k8s对外服务之ingress
service和ingress的作用 service的作用 NodePort:会在每个节点开放一个端口,端口号30000-32767。 也是只能用于内网访问,四层转发。实现负载均衡。不能基于域名进行访问。 clusterip:service的默认类型,只能在集群…...
mysql面试题
一、基础概念 什么是主键(Primary Key)? 答案: 唯一标识表中每行数据的字段或字段组合,不允许 NULL 值,确保数据唯一性。 外键(Foreign Key)的作用是什么? 答案…...
什么是关系型数据库?什么是非关系型数据库?
关系型数据库:关系型数据库是基于关系模型的数据库,它将数据组织成二维表格的形式,每个表格称为一个表(Table),表中的每一行称为一条记录(Record)或元组(Tuple࿰…...
科技云报到:科技普惠潮流渐起,“开源”将带我们走向何方?
科技云报到原创。 开源决定软件未来,已成为全球技术和产业创新的主导模式之一。“开源”思想的诞生,可以说是计算机发展史中极具理想主义和浪漫主义色彩的一页,是科技自由与技术极客思想的延伸。 数字化浪潮奔涌,从软件开发的底…...
校园网架构设计与部署实战
一、学习目标 掌握校园网分层架构设计原则 理解多业务VLAN规划方法 学会部署认证计费系统 实现基础网络安全防护 二、典型校园网场景 需求分析:某中学需建设新型校园网络 覆盖教学楼/宿舍/图书馆三区域 区分教师/学生/访客网络权限 满足2000终端并发接入 …...
【含开题报告+文档+PPT+源码】基于Springboot的乡村老龄居民信息管理系统
开题报告 本文介绍了一个基于Spring Boot框架的乡村老龄居民信息管理系统。该系统旨在通过信息化手段,提高乡村老龄居民的生活质量,并为相关部门提供便捷的数据管理和服务支持。系统主要实现了用户注册登录、个人信息查看、健康数据录入、健康建议查询、…...
前端插件使用xlsx-populate,花样配置excel内容,根据坐添加标替换excel内容,修改颜色,合并单元格...。
需求要求:业务人员有个非常复杂得excel表格,各种表头等,但是模板是固定得。当然也可以实现在excel上搞出各种表格,但是不如直接用已有模板替换其中要动态得内容方便,这里我们用到CSDN得 xlsx-populate 插件。 实列中我…...
Mac m1 连接公司内网
1、创建VPN 1、在系统偏好设置 2、选择网络 3、进行添加 2、添加设置 1、选择VPN 2、类型选择L2TP/IPSec 3、填写服务器IP和账号 4、点击认证设置-填写密码 。然后应用 3、进行特殊配置 网上说苹果系统的问题。 1、创建命令 sudo vim /etc/ppp/options 2、添加内容-主要别…...
Jenkins 部署在 Mac 并在局域网内通过 ip 访问
Jenkins 部署在 Mac 并在局域网内通过 ip 访问 一、修改配置文件 打开文件 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 打开文件 /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist 两个文件目录不同,内容一样 <?xml version"1.0" e…...
臻识相机,华夏相机,芊熠车牌识别相机加密解密
臻识,华夏,芊熠这三种车牌识别相机解密我都试过了,可以正常解密成功,其它品牌我暂时没有测试。超级简单,免费的,白嫖无敌! 流程: ①:先导出配置文件,例如我以…...
【Python 专题】数据结构 树
LeetCode 题目104. 二叉树的最大深度(gif 图解)方法一:后序遍历(DFS)方法二:层序遍历(BFS)872. 叶子相似的树(DFS 遍历)1448. 统计二叉树中好节点的数目(DFS 遍历)437. 路径总和 III(前缀和 + DFS 回溯)1372. 二叉树中的最长交错路径(DFS)236. 二叉树的最近公共…...
【飞行器原理学习】——1. 机翼及机翼参数
飞行器原理学习——1.机翼 一、 概述 飞机的各种机翼是飞机的控制面 通过铰链、钢索、液压等方式连接在机身上 操纵面运动时,会改变机翼的弧度和形状,使流经的空气发生偏转,从而影响空气动力的大小。使飞机围绕着3轴运动 二、机翼的操纵面…...
css之display:grid布局改块级元素布局
1.问题: div是块级元素,一个div元素占一行,但是,今天测试样式时,总是会有两个div并占一行,很困惑,结果发现是app这个样式 在main.css里 #app样式布局在main.ts里被应用 2.原因以及样式分析 im…...
如何组织和管理JavaScript文件:最佳实践与策略
在现代Web开发中,JavaScript已经成为不可或缺的一部分。随着项目规模的扩大,JavaScript代码的复杂性也随之增加。如何有效地组织和管理这些文件,不仅影响开发效率,还直接关系到项目的可维护性和可扩展性。本文将深入探讨如何组织和…...
Vue 中组件通信的方式有哪些,如何实现父子组件和非父子组件之间的通信?
一、父子组件通信(垂直通信) 1. Props 传值(父 → 子) 实现方案: <!-- Parent.vue --> <template><Child :user"userData" /> </template><script setup> import { ref } …...
伯克利 CS61A 课堂笔记 11 —— Mutability
本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理,全英文内容,文末附词汇解释。 目录 01 Objects 02 Example: Strings Ⅰ Representing Strings: the ASCII Standard Ⅱ Representing Strings: the Unicode Standard 03 Mutatio…...
MacOS安装Emacs
个人博客地址:MacOS安装Emacs | 一张假钞的真实世界 在MacOS X上可以使用Homebrew 安装Emacs: $ brew install emacs --with-cocoa 或者用MacPorts: $ sudo port install emacs-app OSX Emacs 网站提供了通用的二进制包。 前两种方法安装…...
基于海思soc的智能产品开发(图像处理的几种需求)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于一个嵌入式设备来说,如果上面有一个camera,那么就可以有很多的用途。简单的用途就是拍照,比拍照更多一点的…...
百度智能云AI收入增3倍,2025开源引流打赢生态战
免费、开源。在DeepSeek重塑产业价值观念后,百度、OpenAI等AI时代的“领航员”纷纷采取行动。 随着开源以雷霆万钧之势袭来,百度下定决心求变。而其底气,就藏在这份财报中。根据财报,2024年,百度集团总收入为1331亿元…...
[数据结构]顺序表详解
目录 一.线性表 二.顺序表 2.1概念及结构 1. 静态顺序表:使用定长数组存储元素。 2. 动态顺序表:使用动态开辟的数组存储。 2.1按需申请 2.2 接口实现:增删查改 SeqList.h: SeqList.c: test.c 一.线性表 线性表 ( line…...
力扣hot100 ——搜索二维矩阵 || m+n复杂度优化解法
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 解题思路: 借助行和列有序特性,不断按行或者列缩小范围;途中数字表示每…...
VirtualBox 中使用 桥接网卡 并设置 MAC 地址
在 VirtualBox 中使用 桥接网卡 并设置 MAC 地址,可以按照以下步骤操作: 步骤 1:设置桥接网卡 打开 VirtualBox,选择你的虚拟机,点击 “设置” (Settings)。进入 “网络” (Network) 选项卡。在 “适配器 1” (Adapt…...
ETL工具: Kettle入门(示例从oracle到oracle的数据导入)
kettle介绍 ETL工具,用于对数据的抽取(Extract), 转换(Transform),加载 (Load) Kettle 是一种ETL工具, 现称为 Pentaho Data Integration (PDI) 特点:纯JAVA语言编写 官方学习文档 网站: https://docs.hitachivantara.com/r/en-us/pentaho-data-int…...