数据库基本语法

news2024/11/18 1:49:11

SQL常用语句总结

mysql -u root -p
mysql会提示你输入密码,输入安装配置MySQL服务时设置的密码即可。

输入如下命令生成样例数据库:

CREATE DATABASE university;
USE university;
SOURCE <DLL.sql文件路径>;
SOURCE <InsertStatements.sql文件路径>;
好了,现在让我们开始温习SQL语句吧。

数据库

  1. 查看现有数据库

SHOW DATABASES;
2. 新建数据库

CREATE DATABASE <数据库名>;
3. 选择数据库

USE <数据库名>;
4. 从.sql文件引入SQL语句

SOURCE <.sql文件路径>;
5. 删除数据库

DROP DATABASE <数据库名>;

6. 查看当前数据库中的表

SHOW TABLES;

  1. 创建新表

CREATE TABLE <表名> (
<列名1> <列类型1>,
<列名2> <列类型2>,
<列名3> <列类型3>,
PRIMARY KEY (<列名1>),
FOREIGN KEY (<列名2>) REFERENCES <表名2>(<列名2>)
);
主键(PRIMARY KEY)用来标识一条记录(一行),所以每条记录的主键值必须是唯一的。主键可以定义在多列上,这称为联合主键(composite primary key)。

如果我们把表视作具有某种结构的数组(例如,C语言中的struct),那么外键(FOREIGN KEY)可以视作指针。

例子:

CREATE TABLE instructor (
ID CHAR(5),
name VARCHAR(20) NOT NULL,
dept_name VARCHAR(20),
salary NUMERIC(8,2),
PRIMARY KEY (ID),
FOREIGN KEY (dept_name) REFERENCES department(dept_name));
在上面的例子中,我们创建了一个教员(instructor)表,该表的主键是ID,外键是教员所在的部门名称(dept_name),关联部门(department)表。此外,教员表还包括姓名(name)、薪水(salary)。其中,姓名有约束NOT NULL,表示姓名这一项不能为空。

  1. 概述表中的列

使用如下语句查看表中的列的基本信息:

DESCRIBE <表名>;
下图显示了一些例子:

  1. 在表中插入新纪录

INSERT INTO <表名> (<列名1>, <列名2>, <列名3>, …)
VALUES (<值1>, <值2>, <值3>, …);
也可以省略列名(依序在所有列上插入新值):

INSERT INTO <表名>
VALUES (<值1>, <值2>, <值3>, …);
10. 在表中更新记录

UPDATE <表名>
SET <列名1> = <值1>, <列名2> = <值2>, …
WHERE <条件>;
11. 清空表

DELETE FROM <表名>;
12. 删除表

DROP TABLE <表名>;
查询
13. SELECT

SELECT语句可以从表中选择数据:

SELECT <列名1>, <列名2>, …
FROM <表名>;
以下语句选择所有内容:

SELECT * FROM <表名>;

选中department表和course表中的所有内容
14. SELECT DISTINCT

SELECT DISTINCT过滤掉了重复的值:

SELECT DISTINCT <列名1>, <列名2>, …
FROM <表名>;

  1. WHERE

我们之前在更新记录时已经用到了WHERE关键字,用来指明条件。这里我们稍微详细一点地介绍下WHERE。

WHERE的条件通常是:

比较文本(text)
比较数字(numbers)
AND、OR、NOT等逻辑运算
让我们来看一些例子:

SELECT * FROM course WHERE dept_name=‘Comp. Sci.’;
SELECT * FROM course WHERE credits>3;
SELECT * FROM course WHERE dept_name=‘Comp. Sci.’ AND credits>3;

  1. GROUP BY

GROUP BY语句可以分组结果,常用于COUNT、MAX、MIN、SUM、AVG等聚合函数(aggregate functions)。

SELECT <列名1>, <列名2>, …
FROM <表名>
GROUP BY <列名>;
让我们来看一个例子,列出每个部门的课程数量:

SELECT COUNT(course_id), dept_name
FROM course
GROUP BY dept_name;

  1. HAVING

乍看起来,HAVING和WHERE很像:

SELECT <列名1>, <列名2>, …
FROM <表名>
GROUP BY <列名x>
HAVING <条件>;
那么,HAVING和WHERE有什么不同呢?让我们先来看一个例子,列出开了不止一门课程的部门开设的课程数:

SELECT COUNT(course_id), dept_name
FROM course
GROUP BY dept_name
HAVING COUNT(course_id)>1;
这里HAVING不能换成WHERE,因为WHERE直接针对行操作,且在GROUP BY之前运行(即先通过WHERE筛选行,之后再将筛选出的行通过GROUP BY分组)。假设SQL中不存在HAVING语句,那么我们只能先新建一张表,将COUNT(course_id)作为新表的列,然后在新表上再通过WHERE进行筛选(当然,实际上SQL提供了派生表、CTE等机制,并不用真的手工建新表)。

  1. ORDER BY

ORDER BY可以对结果进行排序,在没有明确指定ASC(升序)或DESC(降序)的情况下,默认按升序排列。

SELECT <列名1>, <列名2>, …
FROM <表名>
ORDER BY <列名1>, <列名2>, …, ASC|DESC;
例子:

SELECT * FROM course ORDER BY credits;
SELECT * FROM course ORDER BY credits DESC;

  1. BETWEEN

BETWEEN语句用于指定区间。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名x> BETWEEN <值1> AND <值2>;
其中“值”可能是数字,文本,乃至日期等。

例如,列出薪资在50000和100000之间的教员:

SELECT * FROM instructor
WHERE salary BETWEEN 50000 AND 100000;

  1. LIKE

LIKE用于匹配文本中的特定模式。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名x> LIKE <模式>;
模式中可以使用以下两个通配符:

% (零个、一个或多个字符)
_ (单个字符)
例子:列出课程名中包含“to”的课程,以及课程ID以“CS-”开头的课程。

SELECT * FROM course WHERE title LIKE ‘%to%’;
SELECT * FROM course WHERE course_id LIKE ‘CS-___’;

  1. IN

IN语句表示值属于某个集合。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名n> IN (<值1>, <值2>, …);
例子:列出计算机科学、物理、电子工程部门的学生。

SELECT * FROM student
WHERE dept_name IN (‘Comp. Sci.’, ‘Physics’, ‘Elec. Eng.’);

  1. JOIN

JOIN用来组合两张以上表中的值。下图展示了JOIN的三种类型:

图片来源:zeroturnaround.com
SELECT <列名1>, <列名2>, …
FROM <表名1>
JOIN <表名2>
ON <表名1.列名x> = <表名2.列名x>
让我们来看三个例子,分别对应三种JOIN的类型。

第一个例子,列出课程时包含开设课程的部门详情:

SELECT * FROM course
JOIN department
ON course.dept_name=department.dept_name;

第二个例子,列出所有具有前置课程的课程的详情:

SELECT prereq.course_id, title, dept_name, credits, prereq_id
FROM prereq
LEFT OUTER JOIN course
ON prereq.course_id=course.course_id;

最后一个例子,列出所有课程的详情,不管是否具有前置课程:

SELECT course.course_id, title, dept_name, credits, prereq_id
FROM prereq
RIGHT OUTER JOIN course
ON prereq.course_id=course.course_id;

  1. 视图

视图(view)是虚拟的SQL表。它包含行和列,和一般的SQL表格很类似。视图总是显示数据库中的最新数据。

CREATE VIEW

创建视图:

CREATE VIEW <视图名> AS
SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <条件>;
DROP VIEW

删除视图:

DROP VIEW <视图名>;
例如,创建3学分的课程视图:

CREATE VIEW my_view AS
SELECT * FROM course
WHERE credits=3;

  1. 聚合函数

我们之前已经提到聚合函数,这里列出最常用的一些聚合函数:

COUNT(列名) 返回行数
SUM(列名) 返回指定列的值之和
AVG(列名) 返回指定列的平均值
MIN(列名) 返回指定列的最小值
MAX(列名) 返回指定列的最大值
25. 嵌套子查询

在SQL请求中,可以嵌套SELECT-FROM-WHERE表达式,称为嵌套子查询(nested subqueries)。

例如,查找2009年秋、2010年春都开的课程:

SQL常用语句总结
SQL常用语句总结
论智
论智
352 人赞同了该文章
作者:Vijini Mallawaarachchi

编译:weakish

【编者按】由于大量数据保存在关系数据库中,因此数据科学家难免要和SQL打交道。当然,面试的时候也常常考察SQL。Moratuwa大学生物信息学研究员Vijini Mallawaarachchi总结了常用的SQL语句用法,可供参考和温习。

本文总结了常用的SQL语句,尤其适合在面试前复习你的SQL知识。你可以尝试文中的例子,温习下你很久以前在数据库系统课程上学到的知识。

配置样例数据库
为了演示每个命令的用法,我们将使用一个样例数据库。生成该数据库的脚本可以从Google网盘下载:

DLL.sql: https://drive.google.com/file/d/0B_oq3-doZhC-ME1lUlR3a3pYRU0/view
InsertStatements.sql: https://drive.google.com/file/d/0B_oq3-doZhC-TV9ud1JubkVDaXM/view
如不便访问Google网盘,可以在论智公众号(ID: jqr_AI)留言sql recap获取。

下载文件后,输入以下命令进入MySQL控制台(假设你已经装好了MySQL或MariaDB)。

mysql -u root -p
mysql会提示你输入密码,输入安装配置MySQL服务时设置的密码即可。

输入如下命令生成样例数据库:

CREATE DATABASE university;
USE university;
SOURCE <DLL.sql文件路径>;
SOURCE <InsertStatements.sql文件路径>;
好了,现在让我们开始温习SQL语句吧。

数据库

  1. 查看现有数据库

SHOW DATABASES;
2. 新建数据库

CREATE DATABASE <数据库名>;
3. 选择数据库

USE <数据库名>;
4. 从.sql文件引入SQL语句

SOURCE <.sql文件路径>;
5. 删除数据库

DROP DATABASE <数据库名>;

6. 查看当前数据库中的表

SHOW TABLES;
在这里插入图片描述

  1. 创建新表

CREATE TABLE <表名> (
<列名1> <列类型1>,
<列名2> <列类型2>,
<列名3> <列类型3>,
PRIMARY KEY (<列名1>),
FOREIGN KEY (<列名2>) REFERENCES <表名2>(<列名2>)
);
主键(PRIMARY KEY)用来标识一条记录(一行),所以每条记录的主键值必须是唯一的。主键可以定义在多列上,这称为联合主键(composite primary key)。

如果我们把表视作具有某种结构的数组(例如,C语言中的struct),那么外键(FOREIGN KEY)可以视作指针。

例子:

CREATE TABLE instructor (
ID CHAR(5),
name VARCHAR(20) NOT NULL,
dept_name VARCHAR(20),
salary NUMERIC(8,2),
PRIMARY KEY (ID),
FOREIGN KEY (dept_name) REFERENCES department(dept_name));
在上面的例子中,我们创建了一个教员(instructor)表,该表的主键是ID,外键是教员所在的部门名称(dept_name),关联部门(department)表。此外,教员表还包括姓名(name)、薪水(salary)。其中,姓名有约束NOT NULL,表示姓名这一项不能为空。

  1. 概述表中的列

使用如下语句查看表中的列的基本信息:

DESCRIBE <表名>;
下图显示了一些例子:
在这里插入图片描述

  1. 在表中插入新纪录

INSERT INTO <表名> (<列名1>, <列名2>, <列名3>, …)
VALUES (<值1>, <值2>, <值3>, …);
也可以省略列名(依序在所有列上插入新值):

INSERT INTO <表名>
VALUES (<值1>, <值2>, <值3>, …);
10. 在表中更新记录

UPDATE <表名>
SET <列名1> = <值1>, <列名2> = <值2>, …
WHERE <条件>;
11. 清空表

DELETE FROM <表名>;
12. 删除表

DROP TABLE <表名>;
查询
13. SELECT

SELECT语句可以从表中选择数据:

SELECT <列名1>, <列名2>, …
FROM <表名>;
以下语句选择所有内容:

SELECT * FROM <表名>;

在这里插入图片描述

  1. SELECT DISTINCT

SELECT DISTINCT过滤掉了重复的值:

SELECT DISTINCT <列名1>, <列名2>, …
FROM <表名>;
在这里插入图片描述

  1. WHERE

我们之前在更新记录时已经用到了WHERE关键字,用来指明条件。这里我们稍微详细一点地介绍下WHERE。

WHERE的条件通常是:

比较文本(text)
比较数字(numbers)
AND、OR、NOT等逻辑运算
让我们来看一些例子:

SELECT * FROM course WHERE dept_name=‘Comp. Sci.’;
SELECT * FROM course WHERE credits>3;
SELECT * FROM course WHERE dept_name=‘Comp. Sci.’ AND credits>3;
在这里插入图片描述

  1. GROUP BY

GROUP BY语句可以分组结果,常用于COUNT、MAX、MIN、SUM、AVG等聚合函数(aggregate functions)。

SELECT <列名1>, <列名2>, …
FROM <表名>
GROUP BY <列名>;
让我们来看一个例子,列出每个部门的课程数量:

SELECT COUNT(course_id), dept_name
FROM course
GROUP BY dept_name;
在这里插入图片描述

  1. HAVING

乍看起来,HAVING和WHERE很像:

SELECT <列名1>, <列名2>, …
FROM <表名>
GROUP BY <列名x>
HAVING <条件>;
那么,HAVING和WHERE有什么不同呢?让我们先来看一个例子,列出开了不止一门课程的部门开设的课程数:

SELECT COUNT(course_id), dept_name
FROM course
GROUP BY dept_name
HAVING COUNT(course_id)>1;
这里HAVING不能换成WHERE,因为WHERE直接针对行操作,且在GROUP BY之前运行(即先通过WHERE筛选行,之后再将筛选出的行通过GROUP BY分组)。假设SQL中不存在HAVING语句,那么我们只能先新建一张表,将COUNT(course_id)作为新表的列,然后在新表上再通过WHERE进行筛选(当然,实际上SQL提供了派生表、CTE等机制,并不用真的手工建新表)。
在这里插入图片描述

  1. ORDER BY

ORDER BY可以对结果进行排序,在没有明确指定ASC(升序)或DESC(降序)的情况下,默认按升序排列。

SELECT <列名1>, <列名2>, …
FROM <表名>
ORDER BY <列名1>, <列名2>, …, ASC|DESC;
例子:

SELECT * FROM course ORDER BY credits;
SELECT * FROM course ORDER BY credits DESC;
在这里插入图片描述

  1. BETWEEN

BETWEEN语句用于指定区间。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名x> BETWEEN <值1> AND <值2>;
其中“值”可能是数字,文本,乃至日期等。

例如,列出薪资在50000和100000之间的教员:

SELECT * FROM instructor
WHERE salary BETWEEN 50000 AND 100000;
在这里插入图片描述

  1. LIKE

LIKE用于匹配文本中的特定模式。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名x> LIKE <模式>;
模式中可以使用以下两个通配符:

% (零个、一个或多个字符)
_ (单个字符)
例子:列出课程名中包含“to”的课程,以及课程ID以“CS-”开头的课程。

SELECT * FROM course WHERE title LIKE ‘%to%’;
SELECT * FROM course WHERE course_id LIKE ‘CS-___’;
在这里插入图片描述

  1. IN

IN语句表示值属于某个集合。

SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <列名n> IN (<值1>, <值2>, …);
例子:列出计算机科学、物理、电子工程部门的学生。

SELECT * FROM student
WHERE dept_name IN (‘Comp. Sci.’, ‘Physics’, ‘Elec. Eng.’);
在这里插入图片描述

  1. JOIN

JOIN用来组合两张以上表中的值。下图展示了JOIN的三种类型:

图片来源:zeroturnaround.com

SELECT <列名1>, <列名2>, …
FROM <表名1>
JOIN <表名2>
ON <表名1.列名x> = <表名2.列名x>
让我们来看三个例子,分别对应三种JOIN的类型。

第一个例子,列出课程时包含开设课程的部门详情:

SELECT * FROM course
JOIN department
ON course.dept_name=department.dept_name;
在这里插入图片描述

第二个例子,列出所有具有前置课程的课程的详情:

SELECT prereq.course_id, title, dept_name, credits, prereq_id
FROM prereq
LEFT OUTER JOIN course
ON prereq.course_id=course.course_id;

最后一个例子,列出所有课程的详情,不管是否具有前置课程:

SELECT course.course_id, title, dept_name, credits, prereq_id
FROM prereq
RIGHT OUTER JOIN course
ON prereq.course_id=course.course_id;
在这里插入图片描述

  1. 视图

视图(view)是虚拟的SQL表。它包含行和列,和一般的SQL表格很类似。视图总是显示数据库中的最新数据。

CREATE VIEW

创建视图:

CREATE VIEW <视图名> AS
SELECT <列名1>, <列名2>, …
FROM <表名>
WHERE <条件>;
DROP VIEW

删除视图:

DROP VIEW <视图名>;
例如,创建3学分的课程视图:

CREATE VIEW my_view AS
SELECT * FROM course
WHERE credits=3;
在这里插入图片描述

  1. 聚合函数

我们之前已经提到聚合函数,这里列出最常用的一些聚合函数:

COUNT(列名) 返回行数
SUM(列名) 返回指定列的值之和
AVG(列名) 返回指定列的平均值
MIN(列名) 返回指定列的最小值
MAX(列名) 返回指定列的最大值
25. 嵌套子查询

在SQL请求中,可以嵌套SELECT-FROM-WHERE表达式,称为嵌套子查询(nested subqueries)。

例如,查找2009年秋、2010年春都开的课程:
SELECT DISTINCT course_id
FROM section
WHERE semester = ‘Fall’ AND year= 2009 AND course_id IN (
SELECT course_id
FROM section
WHERE semester = ‘Spring’ AND year= 2010
);
在这里插入图片描述

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

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

相关文章

Jenkins实践指南--pipeline概述

1.pipeline概述 1.1 什么是pipeline 从某种抽象层次上讲&#xff0c;部署流水线&#xff08;Deployment pipeline&#xff09;是指从软件版本控制库到用户手中这一过程的自动化表现形式。——《持续交付-发布可靠软件的系统方法》 pipeline 英语愿意为管道&#xff0c;在Jen…

Python之路—200行Python代码搞了个打飞机游戏!!

早就知道pygame模块&#xff0c;就是没怎么深入研究过&#xff0c;恰逢这周未没约到妹子&#xff0c;只能自己在家玩自己啦&#xff0c;一时兴起&#xff0c;花了几个小时写了个打飞机程序。 很有意思&#xff0c;跟大家分享下。 先看一下项目结构 1 2 3 4 5 6 7 8 9 10 11 1…

盒子模型-css

个人学习笔记 文章目录1.什么是盒子模型&#xff1f;2.外边距3.css边框4.内边距1.什么是盒子模型&#xff1f; HTML文档中的每个元素都被描绘成矩形盒子&#xff0c;这些矩形盒子通过一个模型来描述其占用的空间&#xff0c;这个模型称为盒子模型。 盒子模型用四个边界描述&am…

打字的哪阿空扥

打字的那些事之快速移动光标 一## 、提出快速移动光标的原因 &#xff08;1&#xff09;键盘移动光标方向键不合理 情景再现&#xff1a; 当我们在打出一句话时&#xff0c;其中一个字打错&#xff0c;我们就需要去删除它&#xff0c;此时我们做的动作&#xff0c;无非有两种…

Linux知识结构体系简述

Linux 是一套免费使用和自由传播的类 Unix 操作系统&#xff0c;是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。严格来讲&#xff0c;Linux 这个词本身只表示 Linux 内核&#xff0c;但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核&…

QFtp编译

QFtp下载&#xff1a;https://github.com/qt/qtftp 打开源码 修改头文件(不然编译会报错) 打开qftp.pro CONFIG static CONFIG - shared改成 CONFIG - static CONFIG shared也就是 - 号互换位置 4. 编译生成文件 linux下&#xff1a;*.a文件为.lib文件 windows下&#xf…

Python学习基础笔记二十六——推导式

列表推导式&#xff1a; 例1&#xff1a;30以内能被3整除的数&#xff1a; print([i for i in range(30) if i % 3 0]) 结果&#xff1a; 例2&#xff1a; 30以内能被3整除的数的平方&#xff1a; print([i**2 for i in range(30) if i % 3 0]) 结果&#xff1a; 例3&…

Golang sync.Map 原理(两个map实现 读写分离、适用读多写少场景)

参考&#xff1a; 由浅入深聊聊Golang的sync.Map 通过对源码的逐行分析&#xff0c;清晰易懂Golang sync.Map原理 通过向 sync.Map 中增删改查来介绍sync.Map的底层原理Golang中sync.Map的实现原理是什么 很好的概括了sync.Map的原理手摸手Go 深入理解sync.Map 知乎大佬 大家…

CentOS7.9系统部署(nginx+uwsgi+flask)项目

一、概述 上次&#xff0c;我们介绍了如何将CentOS服务器自带的Python3.6.8版本升级到Python3.8.0版本&#xff0c;现在我们开始介绍如何将flask项目部署的CentOS7.9版本的Linux服务器上。 二、环境准备 2.1安装git 我们通常会将自己的项目托管在Github或者gitee平台&#…

地址锁存器,总线控制器,双向总线驱动器(数据缓冲器),时钟发生器。8088最小工作模式。

这几个芯片你知道它叫什么干什么用&#xff0c;跟CPU怎么接就可以。一般就是考填空 目录 这几个芯片你知道它叫什么干什么用&#xff0c;跟CPU怎么接就可以。一般就是考填空 地址锁存器&#xff08;74LS373&#xff0c;8282&#xff09; 数据缓冲器 8286&#xff0c;74LS24…

Spring MVC 常用注解的使用

ResponseBody 由于 Spring MVC 是基于 MVC 这个设计模式的&#xff0c;所以在不加上注解的情况下&#xff0c;页面和前端交互的时候返回的默认是一个视图 View&#xff0c;或者说静态页面&#xff0c;而实际上用的比较多的是将处理完的数据发送给前端&#xff0c;所以我们可以…

第五章. 可视化数据分析分析图表—常用图表的绘制2—直方图,饼形图

第五章. 可视化数据分析分析图 5.3 常用图表的绘制2—直方图&#xff0c;饼形图 本节主要介绍常用图表的绘制&#xff0c;主要包括直方图&#xff0c;饼形图。 1.直方图&#xff08;matplotlib.pyplot.hist&#xff09; 直方图&#xff0c;又称质量分布图&#xff0c;一般用横…

[附源码]JAVA毕业设计农产品的物流信息服务平台(系统+LW)

[附源码]JAVA毕业设计农产品的物流信息服务平台&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 …

MyBatis开发的详细步骤

推荐教程&#xff1a;SSM框架 一、什么是Mybatis 1.mybatis 是一个优秀的基于java的持久层框架&#xff0c;它内部封装了jdbc&#xff0c;使开发者只需要关注sql语句本身&#xff0c;而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 2.mybatis通过x…

Windows下使用labelme标注图像

安装参考链接&#xff1a;https://github.com/wkentaro/labelme 一、安装Anaconda Windows下安装labelme需要借助Anaconda环境&#xff0c;安装很简单 https://www.anaconda.com/download/ 先进入官网&#xff0c;然后点击Windows系统版本 下载完成之后&#xff0c;就按照提…

[附源码]计算机毕业设计社区生活废品回收APPSpringboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

网站都变成灰色,其实几行代码就搞定了!

最近&#xff0c;全站和各个App的内容都变成了灰色&#xff0c;包括按钮、图片等等。 这时候我们可能会好奇这是怎么做到的呢&#xff1f; 有人会以为所有的内容都统一换了一个 CSS 样式&#xff0c;图片也全换成灰色的了&#xff0c;按钮等样式也统一换成了灰色样式。但你想想…

Java入门教程(11) ——基本数据类型

文章目录1.数据类型22.1 整型2.2 浮点型2.3 字符型2.4 布尔型1.数据类型 分为基本数据类型和引用数据类型 如图示&#xff1a; 2 2.1 整型 byte 1字节 short 2 字节 int 4字节 long 8字节. Java 整型常数默认为 int 型&#xff0c;声明 long 型常量可以后加‘ l ’或‘ L ’…

kube-OVN总体架构

本文档将介绍 Kube-OVN 的总体架构&#xff0c;和各个组件的功能以及其之间的交互。 总体来看&#xff0c;Kube-OVN 作为 Kubernetes 和 OVN 之间的一个桥梁&#xff0c;将成熟的 SDN 和云原生相结合。 这意味着 Kube-OVN 不仅通过 OVN 实现了 Kubernetes 下的网络规范&#x…

热销产品缺货,滞销产品积压?WMS系统如何打造智能仓储

仓库是企业物流系统中的一个关键环节&#xff0c;涵盖出库、入库、质检等各个流程。传统的仓储模式单一、反应迟钝&#xff0c;难以适应企业的数字化经营要求。 如何在最小的人力资源下&#xff0c;最大限度地发挥仓库的价值&#xff0c;在最小的成本下&#xff0c;最大限度地利…