MySQL与Oracle对比及区别

news2024/11/14 8:31:52

一、比较

1、MySQL的特点

        性能卓越,服务稳定,很少出现异常宕机;

        开放源代码无版本制约,自主性及使用成本低;

        历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;

        软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;

        支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持

2、Oracle的特点

        兼容性:Oracle产品采用标准SQL,并经过美国u构架标准技术所(NIST)测试,与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。

        可移植性:Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在多种 大、中、小型机上,可在多种操作系统下工作。

        可联结性:Oracle能与多种通讯网络相连,支持各种协议。

        高生产率:Oracle产品提供了多种开发工具,能极大地方使用户进行进一步的开发。

        开放性:Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。

3、MySQL的缺点

        MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变;

        MySQL的另一个主要的缺点是缺乏标准的RI(Referential Integrity-RI)机制,RI限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿;

        MySQL不支持热备份;

4、Oracle的缺点

        对硬件要求很高;

        价格比较昂贵;

        管理维护麻烦一些;

        操作比较复杂,需要技术含量高;

5、技术选型

Oracle适用场景

        对数据库有高级需求:如果企业对数据库的高级需求较高,如存储复杂数据及其方法,要求高可用性、灾备恢复、安全性等,可以考虑用Oracle。

         大型企业应用:Oracle在处理大规模、复杂的企业级应用方面表现出色。它能够处理海量的数据和高并发的访问请求,同时支持复杂的数据模型和关系。

         项目并发量高:使用Oracle,它是是OLTP(联机事务处理)最好的工具。

         安全性要求高:Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。像金融、银行等对安全性要求高的项目一般都选用Oracle作为数据库。

         高可用性和容灾需求:Oracle提供了强大的高可用性和容灾解决方案,例如集群配置、数据复制和自动故障转移等,能够确保系统的连续性和数据的可靠性。MySQL付费版也支持,但可靠性不如Oracle。       

MySQL适用场景

        中小型企业和个人使用:由于其开源和低成本特性,MySQL广泛应用于中小型企业的业务系统。

        Web应用:因其轻量级和高性能,MySQL是大多数Web应用的理想选择,如内容管理系统(CMS)、电子商务平台等。

        移动应用和桌面应用:适用于各类移动应用和桌面应用的数据库支持。

二、区别对比

1、本质的区别

        Oracle数据库是一个对象关系数据库管理系统(ORDBMS)。它通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。

        MySQL是一个开源的关系数据库管理系统(RDBMS)。它是世界上使用最多的RDBMS,作为服务器运行,提供对多个数据库的多用户访问。它是一个开源、免费的数据库。

RDBMS和ORDBMS的区别

标准RDBMSORDBMS
缩写含义关系数据库管理系统面型对象数据库管理系统
数据存储方式数据存储在实体里面,以包含特定信息的表格的形式存在数据存储在对象中
数据复杂性处理比较简单的数据比 RDBMS 处理更大且更复杂的数据
分组拥有公共定义的实体集合的不同实体类型用类描述拥有公共的关系、行为和相似的属性的一组对象
数据处理RDBMS 只存储数据存储数据以及方法
主要目标数据独立于应用程序数据封装
主键主键可以明显的标识表中的对象对象标识符 (object identifier, OID) 对于任何一个对象和实体都是明确且持久的

2、基本操作区别

(1)、用户名、端口号

Oracle默认端口:1521 默认用户:system

MySQL默认端口:3306 默认用户:root

(2)、登录方式

连接MySQL:

mysql -u root -p
-- 输入密码
-- 查询所有数据库
show databases;
-- 切换到 "test" 这个数据库
use test;
-- 查询该数据库所有表
show tables;
--修改户密码
set password for 用户名@localhost = password('新密码')

连接Oracle:

sqlplus
-- 输入用户名
-- 输入密码
-- 查询该用户的表
select TABLE_NAME from user_tables;

--修改密码
ALTER USER 用户名 IDENTIFIED BY 新密码;

(3)、数据库安全性

MySQL使用三个参数来验证用户,即用户名,密码和位置;

Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。

3、语法区别

(1)、大小写是否敏感

        MySQL:在 Windows 操作系统下,MySQL 默认表名、列名等是不区分大小写的;在 Linux 等类 UNIX 系统下,默认情况下数据库名、表名是区分大小写的,列名和索引名是不区分大小写的。不过这些行为可以通过配置文件(my.cnf)中的参数来修改。

         Oracle:表名、列名等通常是不区分大小写的。但是 Oracle 会按照创建对象时定义的大小写形式来存储对象名称,并且在引用对象时如果使用了错误的大小写形式,Oracle 会自动将其转换为正确的形式。

(2)、常用字段类型

        MySQL:有多种常用字段类型。例如,整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT;浮点数类型有 FLOAT 和 DOUBLE;字符串类型有 CHAR、VARCHAR、TEXT 等;日期时间类型有 DATE、TIME、DATETIME、TIMESTAMP。其中,TIMESTAMP 类型会自动更新时间戳,在数据更新操作时非常有用。

    Oracle:整数类型如 NUMBER(p),p 表示精度,可以用来表示不同范围的整数;浮点数也可以用 NUMBER 类型,通过指定精度和小数位数来实现;字符串类型主要有 CHAR、VARCHAR2、CLOB 等;日期时间类型包括 DATE(存储日期和时间)、TIMESTAMP(比 DATE 更精确的时间戳)。Oracle 的 DATE 类型存储了世纪、年、月、日、时、分、秒信息。

(3)、时间日期

         MySQL:可以方便地使用函数来操作日期时间。例如,NOW () 函数获取当前日期和时间,CURDATE () 获取当前日期,CURTIME () 获取当前时间。在日期时间的计算方面,可以通过 DATE_ADD () 和 DATE_SUB () 函数来进行日期时间的加减操作。

        Oracle:通过 SYSDATE 函数获取当前日期和时间,TRUNC (SYSDATE) 获取当前日期部分。日期时间的计算可以使用 INTERVAL 关键字,例如 SYSDATE + INTERVAL '1' DAY 表示在当前日期基础上加一天。

(4)、创建表空间 / 数据库   

         MySQL:创建数据库相对简单,使用 CREATE DATABASE 语句。

CREATE DATABASE my_database;

        对于表空间管理,在 MySQL 中可以通过 InnoDB 存储引擎的文件系统来管理表空间,通过设置参数 innodb_data_file_path 等来配置表空间文件。

 Oracle:创建表空间使用 CREATE TABLESPACE 语句,并且可以指定数据文件的位置、大小等多种属性。

CREATE TABLESPACE my_tablespace DATAFILE 'my_tablespace.dbf' SIZE 100M;

        创建数据库则需要先创建表空间,然后通过数据库配置助手(DBCA)或一系列复杂的 SQL 语句来创建数据库,包括定义控制文件、日志文件等。

(5)、创建临时表

MySQL:可以使用 CREATE TEMPORARY TABLE 语句创建临时表。

CREATE TEMPORARY TABLE temp_table (id INT, name VARCHAR (20));

临时表只在当前会话中可见,当会话结束时,临时表会自动被删除。

        Oracle:同样可以创建临时表,分为会话级临时表和事务级临时表。会话级临时表在整个会话期间存在,使用 CREATE GLOBAL TEMPORARY TABLE 语句创建;

CREATE GLOBAL TEMPORARY TABLE temp_table (id NUMBER, name VARCHAR2 (20)) ON COMMIT PRESERVE ROWS;(ON COMMIT PRESERVE ROWS 表示会话级)

事务级临时表在事务结束时自动删除,创建时使用 ON COMMIT DELETE ROWS。

(6)、创建表和插入记录

         MySQL:创建表的基本语法是 CREATE TABLE table_name (column1 datatype, column2 datatype, …)

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR (50), age INT);

插入记录使用 INSERT INTO 语句,如

INSERT INTO users (name, age) VALUES ('John', 30)

 Oracle:创建表的语法类似,如

CREATE TABLE employees (employee_id NUMBER PRIMARY KEY, employee_name VARCHAR2 (100), department_id NUMBER);

插入记录时

INSERT INTO employees (employee_name, department_id) VALUES ('Alice', 101);

        Oracle 还支持通过子查询来插入数据,这在复杂的数据加载场景中很有用。

(7)、事务隔离级别

 MySQL:支持四种事务隔离级别,分别是 :

        READ UNCOMMITTED(读未提交)、 READ COMMITTED(读已提交)、REPEATABLE READ(可重复读)SERIALIZABLE(可串行化)。

        默认的隔离级别是 REPEATABLE READ,在这种隔离级别下可以保证在同一个事务中多次读取同一数据的结果是一致的。

        Oracle:默认的事务隔离级别是 READ COMMITTED。

        这意味着一个事务只能看到其他事务已经提交的数据。和 MySQL 一样,Oracle 也支持其他隔离级别,通过设置参数或者在事务中使用 SET TRANSACTION ISOLATION LEVEL 语句来改变隔离级别。

(8)、事务提交方式

        MySQL:使用 COMMIT 语句来提交事务,例如 BEGIN; -- 开始事务,执行一系列 SQL 操作,如 INSERT、UPDATE 等,COMMIT; -- 提交事务。也可以使用 ROLLBACK 语句来回滚事务,即撤销已经执行的操作。

        Oracle:事务提交也是使用 COMMIT 语句,并且事务控制机制类似。可以在 SQL*Plus 或者其他客户端工具中通过 SET AUTOCOMMIT ON/OFF 来设置自动提交模式。当 AUTOCOMMIT 为 ON 时,每条 SQL 语句执行后会自动提交;当为 OFF 时,需要手动使用 COMMIT 或 ROLLBACK 来控制事务。

(9)、分页

        MySQL:在 MySQL 中,分页通常使用 LIMIT 子句。例如,SELECT * FROM table_name LIMIT start, count;,其中 start 是起始行索引(从 0 开始),count 是要返回的行数。这种方式简单直接,适用于简单的分页需求。

        Oracle:分页相对复杂一些。可以使用 ROWNUM 伪列来实现分页。例如,

SELECT * FROM (SELECT a.*, ROWNUM rnum FROM (SELECT * FROM table_name) a WHERE ROWNUM <= end_row) WHERE rnum >= start_row;

其中 start_row 和 end_row 分别是起始行和结束行的编号。

         从Oracle 12C开始,提供了一种行限制(row limit)的写法,这种写法也可以用于分页查询。

select * from emp order by sal fetch first 5 rows only;
            EMPNO ENAME                                                     MGR HIREDATE         SAL        COM     DEPTNO
       ---------- -------------------------------------------------- ---------- --------- ---------- ---------- ----------
               92  Bryana  Worswick                                          80 03-JUL-18       2504          1         10
               99  Rufus  McDermott-Row                                      63 01-MAR-02       2512         61         10
               36  Jacenta  Joust                                            71 31-JAN-05       2515          9         30
                2  Blisse  Adamoli                                           65 12-APR-14       2517         67         20
               98  Simona  Shropshire                                        52 16-AUG-08       2518         24         88

(10)、查询语句

        MySQL:基本的查询语法是

 SELECT column1, column2, … FROM table_name WHERE condition;

。支持多种连接查询,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)等。例如

SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;

        Oracle:查询语法相似,如

SELECT column1, column2, … FROM table_name WHERE condition;

        在连接查询方面,Oracle 也支持标准的 SQL 连接语法,同时还有自己独特的语法,如使用 “(+)” 来表示外连接,不过这种语法现在已经不推荐使用,推荐使用标准的 JOIN 语法。

(11)、id 递增的处理

         MySQL:可以在创建表时使用 AUTO_INCREMENT 关键字来定义一个自动递增的主键列。例如

CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, product_name VARCHAR (100));

每次插入新记录时,不需要指定 id 的值,MySQL 会自动为其分配一个唯一递增的值。

         Oracle:没有像 MySQL 那样的 AUTO_INCREMENT 关键字。通常使用序列(SEQUENCE)来实现类似的功能。首先创建一个序列,如

CREATE SEQUENCE product_seq START WITH 1 INCREMENT BY 1;

然后在插入记录时,通过调用序列的 NEXTVAL 属性来获取下一个递增的值插入到 id 列中,例如

INSERT INTO products (id, product_name) VALUES (product_seq.NEXTVAL, 'Product A');

(12)、null 值处理

         MySQL:在查询中,可以使用 IS NULL 或者 IS NOT NULL 来判断列值是否为 null。例如,

SELECT * FROM table_name WHERE column_name IS NULL;

        在函数使用中,一些函数在遇到 null 值时会返回特定的结果,如 SUM 函数在计算包含 null 值的列时会忽略 null 值。

         Oracle:同样使用 IS NULL 和 IS NOT NULL 来判断 null 值。在函数处理方面,Oracle 的函数对 null 值的处理方式也有自己的规则,例如 NVL 函数可以将 null 值转换为指定的值,NVL (column_name, 0) 会将 column_name 中的 null 值转换为 0。

(13)、小数格式化

         MySQL:可以使用 ROUND 函数来对小数进行四舍五入,例如 ROUND (number, decimal_places),其中 number 是要格式化的数字,decimal_places 是要保留的小数位数。另外,也可以通过 CONVERT 函数来转换数据类型,从而实现一定程度的小数格式化。

        Oracle:也有 ROUND 函数,使用方式类似。同时,Oracle 还可以使用 TO_CHAR 函数将数字转换为字符格式来进行更灵活的格式化,例如 TO_CHAR (number, 'FM9999.99') 可以将数字格式化为指定的小数格式,其中 'FM' 表示去除前面多余的空格。

(14)、多条件判断

         MySQL:在 WHERE 子句中可以使用 AND、OR 逻辑运算符来组合多个条件。例如,

SELECT * FROM table_name WHERE condition1 AND condition2;

也可以使用 CASE 语句在查询结果中进行多条件判断,例如

SELECT column_name, CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ELSE value3 END AS new_column FROM table_name;

         Oracle:逻辑运算符 AND 和 OR 的使用方式与 MySQL 相同。Oracle 也支持 CASE 语句,并且还支持 DECODE 函数进行简单的多条件判断,例如

 SELECT column_name, DECODE (condition, value1, result1, value2, result2, default_result) AS new_column FROM table_name;

(15)、单引号的处理

        MySQL:在 SQL 语句中,字符串常量通常需要用单引号括起来。如果字符串本身包含单引号,需要使用反斜杠(\)进行转义,例如

 INSERT INTO table_name (column_name) VALUES ('It's a sample');

        Oracle:同样,字符串常量用单引号括起来。如果有单引号,需要使用两个单引号来表示一个单引号,例如

 INSERT INTO table_name (column_name) VALUES ('It''s a sample');

(16)、模糊查询

         MySQL:使用 LIKE 关键字进行模糊查询,支持通配符 “%”(表示任意字符序列)和 “_”(表示任意单个字符)。例如,

SELECT * FROM table_name WHERE column_name LIKE '% keyword%';

        Oracle:也使用 LIKE 关键字进行模糊查询,通配符的使用方法与 MySQL 相同。此外,Oracle 还提供了一些高级的文本搜索功能,如使用 CONTAINS 函数(需要安装并配置 Oracle Text 组件)来进行更复杂的文本搜索。

(17)、时间相减

        oracle对于计算前7天,时间减7就行了,计算前1个小时,时间减1/24就行了,加法同理:

select TO_DATE('2023-03-28 15:51:20', 'yyyy-mm-dd hh24:mi:ss') -7 from dual;
-- 计算前7天,结果:2023-03-21 15:51:20

select TO_DATE('2023-03-28 15:51:20', 'yyyy-mm-dd hh24:mi:ss') -1/24 from dual;
-- 计算前1个小时,结果:2023-03-28 14:51:20

mysql计算前7天,或者前1个小时,需要用不同的关键字:

select date_sub('2023-03-28 15:51:20' ,interval 7 day);
-- 计算前7天,结果:2023-03-21 15:51:20

select date_sub('2023-03-28 15:51:20' ,interval 1 hour);
-- 计算前1个小时,结果:2023-03-28 14:51:20

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

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

相关文章

开源 2 + 1 链动模式、AI 智能名片、S2B2C 商城小程序在用户留存与品牌发展中的应用研究

摘要&#xff1a;本文以企业和个人品牌发展中至关重要的用户留存问题为切入点&#xff0c;结合管理大师彼得德鲁克对于企业兴旺发达的观点&#xff0c;阐述了用户留存对品牌营收的关键意义。在此基础上&#xff0c;深入分析开源 2 1 链动模式、AI 智能名片、S2B2C 商城小程序在…

蓝桥杯每日真题 - 第8天

题目&#xff1a;&#xff08;子2023&#xff09; 题目描述&#xff08;14届 C&C B组A题&#xff09; 解题思路&#xff1a; 该代码通过动态计算包含数字 "2023" 的子序列出现次数。主要思路是&#xff1a; 拼接序列&#xff1a;将1到2023的所有数字按顺序拆分…

Mac Nginx 前端打包部署

安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装Nginx brew install nginx nginx相关命令 nginx启动命令&#xff1a;nginx nginx -s reload #重新加载配置 nginx -s reopen #重启 nginx -s stop #…

小试银河麒麟系统OCR软件

0 前言 今天在国产电脑上办公&#xff0c;需要从一些PDF文件中复制文字内容&#xff0c;但是这些PDF文件是图片转换生成的&#xff0c;不支持文字选择和复制&#xff0c;除了手工输入&#xff0c;我们还可以使用OCR。 1 什么是OCR OCR &#xff08;Optical Character Recogni…

选择主动孤独,亦可以成长和放松

有的人热衷于喧嚣&#xff0c;享受来自社交场合的灯火辉煌&#xff0c;将欢声笑语作为心灵的慰藉。有的人则偏爱那份宁静&#xff0c;更愿意在青灯古巷间徘徊&#xff0c;在山川湖海间独行&#xff0c;以一杯茶、一卷书、一段旅程与自我对话。每个人以不同的方式诠释活着的意义…

Django 外键引用另一个表中的多个字段

在 Django 中&#xff0c;外键&#xff08;ForeignKey&#xff09;通常只引用另一张表的一个字段&#xff0c;比如一个主键或一个唯一标识字段。然而&#xff0c;如果我们需要让一个外键引用另一张表中的多个字段&#xff0c;通常有以下几种方法来实现这种关系。 1、问题背景 …

MyBatis从入门到进阶

目录 MyBatis入门1、创建项目、数据准备2、数据库配置3、编写持久层代码单元测试打印日志 基本操作查询数据插入数据删除数据更新数据 MyBatis - xml插入数据更新数据删除数据查询数据#{}与${}SQL注入排序like查询 MyBatis进阶if标签trim标签where标签set标签foreach标签sql标签…

【JavaWeb】JavaWeb入门之XML详解

目录 1.XML介绍 1.1.XML概述 1.1.1.什么是XML 1.1.2.XML的作用 1.1.3.XML与HTML的比较 1.1.4.XML和properties&#xff08;属性文件&#xff09;比较 1.1.5.W3C组织 1.2.XML语法概述 1.2.1.XML文档展示 1.2.2.XML文档的组成部分 1.3.XML文档声明 1.3.1.什么是XML文…

wordcloud库基本介绍

文章目录 wordcloud库概述wordcloud库的安装 wordcloud库使用说明配置对象参数 wordcloud应用实例实例: 政府工作报告词云 wordcloud库概述 wordcloud是优秀的词云展示第三方库 词云以词语为基本单位,更加直观和艺术地展示文本 wordcloud库的安装 (cmd命令行) pip install …

VMware和CentOS 7.6 Linux操作系统的安装使用

1. 安装VMware 安装VMware之前&#xff0c;有些电脑是需要去BIOS里修改设置开启cpu虚拟化设备支持才能安装。如果运气不好在安装过程中安装不了的话就自行百度吧。 打开 VMware 的官网: https://www.vmware.com/ 点击 product&#xff0c;往下滑找到 see desktop hypeerviso…

LLM在Transformer上的改动

LLM在Transformer上的改动 1.multi-head共享1.1BERT的逻辑1.2multi-head共享 2.attention的前后网络2.1传统Transformer&#xff1a;2.2GPTJ结构&#xff1a; 3.归一化层的位置&#xff08;LayerNorm&#xff09;4.归一化层函数的选择4.1LayerNorm4.2RMSNorm 3.激活函数4.LLama…

解决SpringBoot3的Validated依赖实现自定义注解失效问题

我们引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency> Validated实现自定义注解 我们首先看看自定义注解里面&#xff0c;用到的注解的包 我们…

当微软windows的记事本被AI加持

1985年&#xff0c;微软发布了Windows 1.0&#xff0c;推出了一款革命性的产品&#xff1a;记事本&#xff08;Notepad&#xff09;。这款软件旨在鼓励使用一种未来主义的新设备——鼠标&#xff0c;并让人们可以不依赖VI等键盘工具就能书写文本和编写代码。记事本因其简洁和高…

前端常用布局模板39套,纯CSS实现布局

前端常用布局模板39套&#xff0c;纯CSS实现布局 说明 写博客、官网、管理后台都可以参考以下布局模板&#xff0c;实现模板布局的方式包含&#xff1a;flex、CSS、HTML5、Layout。 不需要下载积分&#xff0c;没有特殊库引用&#xff0c;不用安装任何插件&#xff0c;打开资源…

微服务day07

Elasticsearch 需要安装elasticsearch和Kibana&#xff0c;应为Kibana中有一套控制台可以方便的进行操作。 安装elasticsearch 使用docker命令安装&#xff1a; docker run -d \ --name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ //设置他的运行内存空间&#x…

java常用工具介绍

1. 集成开发环境&#xff08;IDE&#xff09;&#xff1a; • Eclipse&#xff1a;一个开放源代码的、基于Java的可扩展开发平台。它提供了一个框架和一组服务&#xff0c;用于通过插件组件构建开发环境。Eclipse 还包括用于Java开发的工具&#xff08;Java Development Tools,…

C++入门基础知识148—【关于C++ 二元运算符重载】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 二元运算符重载的相关内容&#xff01…

黑马智数Day7

获取行车管理计费规则列表 封装接口 export function getRuleListAPI(params) {return request({url: parking/rule/list,params}) } 获取并渲染数据 import { getRuleListAPI } from /apis/carmounted() {this.getRuleList() }methods: {// 获取规则列表async getRuleList(…

NodeJS的安装 npm 配置和使用 Vue-cli安装 Vue项目介绍

一.前端工程化 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本 1. NodeJS的安装 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环 境&#xff0c;可以使 JavaScript 运行在服务…

Anolis8.2系统中搭建python环境

文章目录 安装依赖项依赖项介绍 下载python源码包安装python源码包 安装依赖项 [rootPython ~]# dnf install -y gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel uuid-devel libnsl2-d…