MySQL - mysql服务基本操作以及基本SQL语句与函数

文章目录

  • 操作mysql
    • 客户端与 mysql 服务之间的小九九
    • 了解 mysql
  • 基本 SQL 语句
    • 语法书写规范
    • SQL分类
    • DDL
    • mysql数据类型
      • 数值类型
      • 字符类型
      • 日期类型
    • 示例
      • 修改(表操作)
    • DML
      • 添加数据
      • 删除数据
      • 修改数据
    • DQL
      • 查询多个字段
      • 条件查询
      • 聚合函数
      • 分组查询
      • 排序查询
      • 分页查询
      • DQL语句的执行顺序
    • DCL
      • 用户权限
      • 权限控制分配
    • 函数
      • 常用字符串函数
        • 练习
      • 常见数值函数
        • 练习
      • 常见日期函数
        • 练习
      • 流程函数
        • 练习

操作mysql

下载mysql我就不写文章了,怎么卸载倒是有一篇(在我的博客中)

下载完成mysql之后我们可以通过管理员的身份来运行cmd命令窗口,我们可以通过以下两条命令来启动 mysql 或者停止 mysql 服务

# net stop mysql80       它的作用是停止 mysql 服务
# net start mysql80       它的作用是开启 mysql 服务

mysql启动停止图片
现在我们只是启动了 mysql ,他现在还没有和我们的客户端进行一个连接,我们现在需要让 mysql 连接到我们的客户端,有三种连接方式,新手推荐都练习一下,有益于理解mysql 与客户端之间的一些联系

  1. 首先我们可以通过 MySQL 8.0 Command Line Client 这个软件来进行连接
  2. 我们可以通过命令行来跑 mysql连接服务 或者说连接 mysql ,如果是命令行就需要配置一下环境变量了,否则 window 无法寻找到 连接 mysql 的程序。

配置地址为:
mysql配置地址
然后我们可以执行该命令来让客户端连接 mysql 服务:mysql [-h 127.0.1.1] [-p 3306] -u root -p
mysql连接
3. 我们还可以使用可视化管理工具进行连接,这个比较简单,就不进行截图演示了。

客户端与 mysql 服务之间的小九九

首先客户端会向 mysql 服务器发送 sql 语句,表面上是让 mysql 去执行语句做出操作,其实mysql内部是很奇妙的,首先 mysql 接受到客户端传来的 sql 语句会直接给到内部的 DBMS 数据库管理系统,它是会去操作以及维护数据库的,它可操作以及维护多个数据库 ,每个数据库可包含多个表,每个表可包含多个字段。

了解 mysql

mysql 数据库是一种关系型数据库,所谓关系型数据库也就是通过表结构来存储数据的数据库,反之则为非关系型数据库,例如 mongodb 就是一种非关系型数据库(NoSQL)

官方的解释是:关系型数据库是建立在关系模型基础上,有多张互相连接的二维表组成的数据库。

关系型数据库格式统一,方便维护;同时 SQL语言标准统一,使用方便。这便是它的优点。

基本 SQL 语句

语法书写规范

  1. 首先 mysql 语句单行多行书写都可以,但是该语句结束时必须使用分号结尾 ;
  2. 可使用空格或缩进来增强可读性
  3. 不区分大小写,只是关键字建议大写,这是比较规范的
  4. 单行注释 -- 注释内容# 注释内容
  5. 多行注释 /* 注释内容 */

SQL分类

  • DDL(Data Definition Language): 数据定义语言,用来定义数据库对象(数据库,表,字段)
  • DML(Data Manipulation Language): 数据操作语言,用来对数据表中的数据进行增删改
  • DQL(Data Query Language): 数据查询语言,用来查询数据库中表的记录
  • DCL(Data Control Language): 数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL

  1. 查询
  • 查询所有数据库:SHOW DATABASES;
  • 查询当前数据库:SELECT DATABASE();
  1. 创建
  • CREATE DATABASE [ IF NOT EXISTS ] 数据库名称 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
  1. 删除
  • DROP DATABASE [ IF EXISTS] 数据库名称;
  1. 使用某数据库
  • USE 数据库名称;

  1. 查询当前数据库所有表
  • SHOW TABLES;
  1. 查询表结构
  • DESC 表名;
  1. 查询指定表的建表语句
  • SHOW CREATE TABLE 表名;
	CREATE TABLE 表名称(字段1 数据类型[ COMMENT 字段1注释],字段1 数据类型[ COMMENT 字段1注释],字段1 数据类型[ COMMENT 字段1注释],字段1 数据类型[ COMMENT 字段1注释]) [COMMENT 表注释];

最后一个字段后面不加逗号

mysql数据类型

数值类型

  • TINYINT(小整数值) : 占用一个字节;有符号范围时(-128,127);无符号范围时(0,255)
  • SMALLINF(大整数值) : 占用两个字节;有符号范围时(-32768,32767);无符号范围时(0,65535)
  • MEDIUMINF(大整数值) : 占用三个字节;有符号范围时(-8388608,8388607);无符号范围时(0,16777215)
  • INF / INFEGER(大整数值) : 占用四个字节;有符号范围时(-2147483648,217483647);无符号范围时(0,4294967295)
  • BIGINT(极大整数值) : 占用八个字节;有符号范围时(-2 ^ 63,2 ^ 63 - 1);无符号范围时(0,2 ^ 64 - 1)
  • FLOAT(单精度浮点数值) : 占用四个字节
  • DOUBLE(双精度浮点数值) : 占用八个字节
  • DECIMAL(小数值【精确定点数】)

有符号标识:SIGNED;无符号标识:UNSIGNED

当我们对分数或者年龄等做记录的时候就不需要用到有符号的负数了,我们可以这样写: age TINYINT UNSIGNED

对于浮点数我们可以这样限定它的范围:score double(限制位数,小数位数)

字符类型

字符类型有很多,我就列出一下,不会全部介绍,因为常用到的也就是 char、以及 varchar

  • char: 0-255 bytes 定长字符串
  • varchar:0-65535 bytes 变长字符串

定长意思就是已经开辟了这么大的空间,无论在实际操作中是存多少字符,它也是这么长的,有一点浪费空间的意思
而变长则是需要判断实际字符长度在分配空间

各有各的长处,变长性能比较差,但却不浪费空间,char浪费空间却性能胜与 varchar。

  • TINYBLOB:不超过255个字符的二进制数据
  • TINYTEXT:短文本字符串
  • BLOB:二进制形式的长文本数据
  • TEXT:长文本数据
  • MEDIUMBLOB:二进制形式的中等长度文本数据
  • MEDIUMTEXT:中等长度文本数据
  • LONGBOLB:二进制格式极大文本数据
  • LONGTEXT:超大文本数据

日期类型

  • DATE: YYYY-MM-DD (日期)
  • TIME: HH:MM:SS (时间)
  • YEAR: YYYY (年)
  • DATETIME: YYYY-MM-DD HH:MM:SS (混合日期)
  • TIMESTAMP: YYYY-MM-DD HH:MM:SS (混合日期【时间戳】)

示例

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| carbon             |
| examination_pro    |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testdb             |
+--------------------+
7 rows in set (0.00 sec)mysql> use testdb;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| testdb     |
+------------+
1 row in set (0.00 sec)mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| user             |
+------------------+
1 row in set (0.02 sec)mysql> desc user;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| name      | varchar(10) | YES  |     | NULL    |       |
| workno    | varchar(10) | YES  |     | NULL    |       |
| id        | int         | YES  |     | NULL    |       |
| gender    | char(1)     | YES  |     | NULL    |       |
| idcard    | char(18)    | YES  |     | NULL    |       |
| entrydate | date        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)mysql> show create table user;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table|
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user  | CREATE TABLE `user` (`name` varchar(10) DEFAULT NULL COMMENT '用户名称',`workno` varchar(10) DEFAULT NULL COMMENT '工号',`id` int DEFAULT NULL COMMENT '编号',`gender` char(1) DEFAULT NULL COMMENT '性别',`idcard` char(18) DEFAULT NULL COMMENT '身份证号',`entrydate` date DEFAULT NULL COMMENT '入职时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='员工表' |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)mysql>

修改(表操作)

  • 添加字段
    ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];

  • 修改字段

  1. 修改数据类型
    ALTER TABLE 表名 MODIFY 字段名 新的数据类型(长度);
  2. 修改字段名称和字段类型
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
  • 删除字段

ALTER TABLE 表名 DROP 字段名;

  • 修改表名称

ALTER TABLE 表名 RENAME TO 新表名;

  • 删除表
  1. 删除表
    DROP TABLE [ IF EXISTS ] 表名;
  2. 删除指定表,并且重新创建该表
    TRUNCATE TABLE 表名;

DML

添加数据

  • 给指定字段添加数据
    INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...);

  • 给全部字段添加数据
    INSERT INTO 表名 VALUES(值1,值2,...);

  • 批量添加数据
    INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
    INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);

删除数据

DELETE FROM 表名 [WHERE 条件] ;

修改数据

UPDATE 表名 SET 字段名1 = '修改之后的值1',字段名2 = '修改之后的值2,... [WHERE 条件];'


DQL

查询多个字段

  • 查询
    SELECT 字段名1,字段名2,字段名3,... FROM 表名;
    SELECT * FROM 表名;

  • 别名
    SELECT 字段1 [ AS 别名1 ],字段2 [ AS 别名2 ],字段3 [ AS 别名3 ],... FROM 表名;

  • 去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

条件查询

SELECT 字段列表 FROM 表名 WHERE 条件列表;

  • 条件:
    – <
    – >
    – >=
    – <=
    – =
    – <> 或者 != 【表示不等于】
    – BETWEEN…AND… 【再某个范围之内(包含最大值以及最小值)】
    – IN 【在in之后的列表中的值,多选一】
    – LIKE 占位符 【模糊查询 _匹配单个字符,%匹配多个字符】
    – IS NULL 【是NULL】
    – IS NOT NULL 【不为NULL】
    – AND 或者 && 【并且】
    – OR 或者 || 【或】
    – NOT 或者 ! 【非,不是】

聚合函数

SELECT 聚合函数(字段列表) FROM 表名;

聚合函数:

  • count :统计数量
  • max : 最大值
  • min:最小值
  • avg:平均值
  • sum:求和
    null值不参与聚合运算

分组查询

SELECT 字段列表 FROM 表名 [ WHERE 条件] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

都是过滤条件 where 和 having 的区别在哪里呢?

  • 执行的时机不同:where 是在分组之前进行过滤,不满足 where 中的条件的话,不参与分组;而 having 是在分组之后进行过滤的
  • 判断条件不同:where 不能对聚合函数进行判断,having 可以对聚合函数进行判断

排序查询

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

排序方式包含:

  1. ASC (升序)
  2. DESC (降序)

分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引,每页查询条数;

DQL语句的执行顺序

  1. SELECT
  2. FROM
  3. WHERE
  4. GROUP BY
  5. HAVING
  6. ORDER BY
  7. LIMIT

DCL

用户权限

  1. 查询用户
USE mysql;
SELECT * FROM user;
  1. 创建用户
    CREATE USER '用户名'@'主机名' IDENTIFIEN BY '密码';
  2. 修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
  1. 删除用户
    DROP USER'用户名'@'主机名';

主机名如果为local host 那么该数据库只能在当前主机访问,也就是当前操作电脑上可以访问;如果主机名命名为 % 那么表示该数据库可以在任意主机上访问

权限控制分配

当我们有了多个用户权限,自然要给不同的用户分配不同的权限,而所分配的权限也就是该用户可执行的操作,例如查询、插入、修改、删除(库 / 表),简称CRUD。

如果要给予所有权限,那么可使用 ALL 或者 ALL PRIVILEGES

  1. 查询权限
    SHOW GRANTS FOR '用户名'@'主机名';
  2. 授予权限
    CRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
  3. 撤销权限
    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

如果要操作该数据库的所有表的权限,那么我们可以将表名写做:*来表示通配该数据库所有表

同样的所有数据库也可以表示为 *


函数

常用字符串函数

  1. 字符串的拼接,将多个字符串拼接为一个字符串
CONCAT(STR1,STR2,STR3...)
  1. 字符串全部转小写
LOWER(str)
  1. 字符串全部转大写
UPPER(str)
  1. 左填充,用字符串pad对str左边进行填充,达到n个字符长度
LPAD(str,n,pad)
  1. 右填充,用字符串pad对str右边进行填充,达到n个字符长度
RPAD(str,n,pad)
  1. 去掉字符串左右两边的空格
TRIM(str)
  1. 返回字符串 str 从 start 位置起的 len 个长度的字符串
SUBSTRING(str,start,len)
练习
SELECT CONCAT('Hello ',' MySQL') AS '字符串拼接';SELECT LOWER(CONCAT('Hello',' MySQL')) AS '字符串转小写';SELECT UPPER(CONCAT('Hello',' MySQL')) AS '字符串转大写';SELECT LPAD(UPPER(CONCAT('Hello',' MySQL')),18,'_') AS '左填充字符串';SELECT RPAD(UPPER(CONCAT('Hello',' MySQL')),18,'_') AS '右填充字符串';SELECT TRIM(CONCAT('  Hello ',' MySQL  ')) AS '字符串去除两边空格';SELECT SUBSTRING(RPAD(UPPER(CONCAT('Hello',' MySQL')),18,'_'),5,3) AS '字符串截取';
# 这里需要注意索引值从1开始

常见数值函数

  1. 向上取整
CEIL(x)
  1. 向下取整
FLOOR(x)
  1. 返回 x / y 的模
MOD(x,y)
  1. 返回 0~1内的随机数
RAND()
  1. 求参数 x 的四舍五入的值,保留 y 位小数
ROUND(x,y)
练习
SELECT CEIL(200.1) AS '向上取整';
SELECT FLOOR(200.9) AS '向下取整';
SELECT MOD(12,7) AS '求模';
SELECT RAND() AS '随机数';
SELECT ROUND(RAND() * 200,3) AS '四舍五入';

常见日期函数

  1. 返回当前日期
CURDATE()
  1. 返回当前时间
CURTIME()
  1. 返回当前日期和时间
NOW()
  1. 获取指定的date年份
YEAR(date)
  1. 获取指定的date月份
MONTH(date)
  1. 获取指定的date日期
DAY(data)
  1. 返回一个日期/时间值加上一个时间间隔expr后的时间值
DATE_ADD(date,INTERVAL expr type)
  1. 返回起始时间date1和结束时间date2之间的天数
DATEDIFF(date1,date2)
练习
SELECT CURDATE() AS '当前日期';
SELECT CURTIME() AS '当前时间';
SELECT NOW() AS '当前日期和时间';SELECT YEAR('1999-01-06') AS '指定日期年份';SELECT MONTH('1999-01-06') AS '指定日期月份';SELECT DAY('1999-01-06') AS '指定日期';SELECT DATE_ADD('1989-01-01',INTERVAL 70 MONTH) AS '时间推进';SELECT DATE_ADD('1989-01-01',INTERVAL -70 DAY) AS '时间推进';SELECT DATEDIFF('2023-10-2','2001-10-19') AS '间隔天数';

流程函数

  1. 如果 value 为 true,返回第一个值,否则返回第二个值
IF(value,x,y)
  1. 如果 value 不为空,返回第一个值,否则返回第二个值
IFNULL(value1,value2)
  1. 如果 value1 为 true,返回res1,否则返回default默认值
CASE WHEN [value1] THEN [res1] ...ELSE[default] END
  1. 如果 value1 的值等于 val1,返回res1,否则返回default默认值
CASE [value1] WHEN [val] THEN [res1] ...ELSE[default] END
练习
SELECT IF((CEIL(RAND() * 10)  + 1 = 8),1,0) AS '判断';SELECT IFNULL((SELECT workno FROM emp WHERE username = '王小二'),'为空') AS '判断NULL';SELECT username,(CASE age WHEN 23 THEN '符合23岁的标准' WHEN 24 THEN '勉强接受' ELSE '不符合标准' END) AS '标准' FROM emp;SELECT CASE WHEN ((SELECT age FROM emp WHERE username = '王小二') = 23) THEN '符合23岁的标准' ELSE '不符合标准' END AS '标准';

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

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

相关文章

python模拟表格任意输入位置

在表格里输入数值&#xff0c;要任意位置&#xff0c;我找到了好方法&#xff1a; input输入 1. 行 2. 列输入&#xff1a;1 excel每行输入文字input输入位置 3.2 表示输入位置在&#xff1a;3行个列是要实现一个类似于 Excel 表格的输入功能&#xff0c;并且希望能够指定输入…

oracle GBK未定义编码使用Unicode写入特殊字符e000迁移lightdb-x测试

E:\HS\LightDBSVN\23.3sql文件\迁移工具\caofa\config\application.properties gbk-->uft8: logging.configclasspath:log4j2.xml # ???? etl.global.sourceDatabaseoracle etl.global.targetDatabaselightdb etl.global.showSqlfalse etl.global.fastFailfalse etl.g…

数据结构之双链表

双链表 1.复杂方法的图分析2.My_LinkedList代码3.接口MY_lIST4.测试类 1.复杂方法的图分析 2.My_LinkedList代码 package My_liNKEDlIST;public class My_LinkedList implements MY_lIST{static class ListNode{public int val;public ListNode prev;public ListNode next;pub…

git 分支管理进阶

目录 1. merge 命令&#xff1a;git merge A 2. rebase 命令&#xff1a;git rebase A 命令&#xff1a;git rebase B A 3. 指针——分支切换 3.1哈希值方式 3.2相对引用 3.3综合练习 4.撤销 4.1 本地分支 reset 4.2 远程分支 revert 5.Cherry-pick与交互式的 …

十天学完基础数据结构-第三天(数组(Array))

数组的基本概念 数组是一种线性数据结构&#xff0c;用于存储相同数据类型的元素。它具有以下基本概念&#xff1a; 元素&#xff1a;数组中的每个数据项称为元素&#xff0c;可以是整数、浮点数、字符等。 索引&#xff1a;每个元素在数组中都有一个唯一的位置&#xff0c;称…

Linux--socket编程

socket套接字编程 一、服务器和客户端的开发步骤&#xff1a; 1、创建套接字 2、为套接字添加信息&#xff08;ip地址和端口号&#xff09; 3、监听网络连接 4、监听到有客户端接入&#xff0c;接受连接&#xff08;如没有接入&#xff0c;会发生阻塞到&#xff09; 5、数据…

flink处理函数--副输出功能

背景 在flink中&#xff0c;如果你想要访问记录的处理时间或者事件时间&#xff0c;注册定时器&#xff0c;或者是将记录输出到多个输出流中&#xff0c;你都需要处理函数的帮助&#xff0c;本文就来通过一个例子来讲解下副输出 副输出 本文还是基于streaming-with-flink这本…

概率密度函数,概率分布函数

概率密度函数&#xff1a;描述信号的取值在某个确定的取值点附近的概率的函数&#xff1b;概率分布函数的导数。 以幅值大小为横坐标&#xff0c;以每个幅值间隔内出现的概率为纵坐标进行统计分析。反映了信号落在不同幅值强度区域内的概率情况。 直方图&#xff1a;对每个幅…

数据结构--队列与循环队列的实现

数据结构–队列的实现 1.队列的定义 比如有一个人叫做张三,这天他要去医院看病,看病时就需要先挂号,由于他来的比较晚,所以他的号码就比较大,来的比较早的号码就比较小,需要到就诊窗口从小号到大依次排队,前面的小号就诊结束之后,才会轮到大号来,小号每就诊完毕就销毁,每新来…

基于Java的火车高铁订票购票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

支持向量机SVM:从数学原理到实际应用

目录 一、引言背景SVM算法的重要性 二、SVM基础线性分类器简介什么是支持向量&#xff1f;超平面和决策边界SVM的目标函数 三、数学背景和优化拉格朗日乘子法&#xff08;Lagrange Multipliers&#xff09;KKT条件核技巧&#xff08;Kernel Trick&#xff09;双重问题和主问题&…

【云备份】

文章目录 [toc] 1 :peach:云备份的认识:peach:1.1 :apple:功能了解:apple:1.2 :apple:实现目标:apple:1.3 :apple:服务端程序负责功能:apple:1.4 :apple:服务端功能模块划分:apple:1.5 :apple:客户端程序负责功能:apple:1.6 :apple:客户端功能模块划分:apple: 2 :peach:环境搭建…

留住时光、固化时间、让一瞬成为永恒——全新的真人手办定制模式,就选易模小程序制作。

如何能永远留住一瞬间&#xff1f; 有人说我可以拍摄一张照片&#xff0c;照片的问世确实给生活中许多美好的瞬间留下了可以记录的工具。但是随着时间的流逝&#xff0c;照片终究也会泛黄&#xff0c;似乎有一些记忆的温度&#xff0c;有一些岁月的棱角&#xff0c;也是照片所给…

SD卡格式化怎么恢复?

随着智能手机、平板电脑、数码相机和行车记录仪等各种移动电子设备走入千家万户&#xff0c;SD卡作为与这些设备相配套的存储介质&#xff0c;也随之获得了广泛的市场认可。SD卡因其体积小巧、容量庞大、读写速度高及与多种设备兼容的优点&#xff0c;逐渐成为日常工作和生活中…

怒刷LeetCode的第23天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;贪心算法 方法二&#xff1a;动态规划 方法三&#xff1a;回溯算法 方法四&#xff1a;并查集 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;排序和遍历 方法二&#xff1a;扫描线算法 方法…

StarRocks数据导入

1、相关环境 Flink作为当前流行的流式计算框架&#xff0c;在对接StarRocks时&#xff0c;若直接使用JDBC的方式"流式"写入数据&#xff0c;对StarRocks是不友好的&#xff0c;StarRocks作为一款MVCC的数据库&#xff0c;其导入的核心思想还是"攒微批降频率&qu…

HTTP协议,请求响应

、概述 二、HTTP请求协议 三、HTTP响应协议 四、请求数据 1.简单实体参数 RequestMapping("/simpleParam")public String simpleParam(RequestParam(name "name" ,required false ) String username, Integer age){System.out.println (username "…

车牌文本检测与识别:License Plate Recognition Based On Multi-Angle View Model

论文作者&#xff1a;Dat Tran-Anh,Khanh Linh Tran,Hoai-Nam Vu 作者单位&#xff1a;Thuyloi University;Posts and Telecommunications Institute of Technology 论文链接&#xff1a;http://arxiv.org/abs/2309.12972v1 内容简介&#xff1a; 1&#xff09;方向&#x…

可以动态改变刻度背景色的车速仪表盘

最近做的项目的主页面需要用到一个仪表盘来动态显示车速&#xff0c;同时改变对应的背景色 仪表盘 开始是想着使用echarts&#xff0c;修修改改拿来用&#xff0c;但是人家客户有规定&#xff0c;必须搞个差不多的&#xff0c;那没办法&#xff0c;自 己动手搞个吧 截图如下&am…