当前位置: 首页 > news >正文

(课堂笔记)Mysql 基础(对比 Oracle 学习)

本文介绍了MySQL客户端工具(SQLYog/Navicat/Dbeaver)的连接配置方法(主机192.168.5.100,用户root,密码123456),对比了MySQL 5.7和8.0版本特性差异。


详细说明了MySQL基础操作:数据库/表创建、增删改查语法,以及与Oracle在数据类型、函数(如日期处理、分页查询)、程序块语法等方面的主要区别。


重点包括:MySQL使用LIMIT分页而非ROWNUM,日期函数如NOW()替代SYSDATE,存储过程使用DELIMITER定义分隔符等特性差异。

关联阅读推荐


MySQL 函数速查表:快速通过在线SQL测试


Oracle 查看表结构的方法(MySQL vs Oracle 查看表结构对比)


Mysql


客户端

提供开发环境给开发者连接 Mysql 写代码的
SQLYog、Navicat、Dbeaver 等

连接信息
主机名:node100
主机服务器:192.168.5.100
用户:root
密码:123456
点击“测试连接”,没问题之后点击“连接”(弹出框点击“确认”)


Mysql 常用版本

  • Mysql 5.7:老版本,兼容性较好(函数不是很齐全,不支持开窗)

  • Mysql 8.0:新版本,函数会比较全(支持开窗函数)

Mysql 作为传统关系型数据库,语法层面跟 Oracle 基本上大同小异


基础语法

OracleMysql
SELECT * FROM SCOTT.EMP;(SCOTT 叫用户名/模式名/Schema)SELECT * FROM lee.t_id;(lee 叫数据库名)

sql

SHOW DATABASES; -- 查看所有数据库 CREATE DATABASE 数据库名; -- 创建数据库 USE 数据库名; -- 切换到目标数据库 SHOW TABLES; -- 查看当前数据库下所有的表 CREATE TABLE 表名( 字段名1 字段类型1, 字段名2 字段类型2... ); -- 创建表

数据类型

  • 数值:INT 整型、FLOAT 浮点型、DOUBLE 双精度浮点型

  • 字符串:VARCHAR(X) 可变长度、CHAR(X) 固定长度

  • 日期:DATE / TIMESTAMP

示例:创建一张学生信息表

sql

USE A2608; CREATE TABLE T_STUDENT( SNO INT, SNAME VARCHAR(100), CLASS VARCHAR(100), SCORE FLOAT );

增删改查

增(INSERT)—— 不需要提交/回滚

sql

INSERT INTO T_STUDENT VALUES (101,'zhangsan','yuwen',100), (101,'zhangsan','shuxue',79.5), (101,'zhangsan','yingyu',88); INSERT INTO T_STUDENT SELECT * FROM T_STUDENT;

改(UPDATE)—— 不需要提交/回滚

sql

UPDATE T_STUDENT SET SCORE = SCORE + 10, SNO = 102 WHERE CLASS = 'yuwen';

删(DELETE)—— 不需要提交/回滚

sql

DELETE FROM T_STUDENT WHERE SNO = 101; TRUNCATE TABLE T_STUDENT; DROP TABLE T_STUDENT;

查(SELECT)

sql

SELECT * FROM T_STUDENT;

区别点

1. Mysql 没有对应的伪列 / 伪表

sql

SELECT ROWID, ROWNUM FROM T_STUDENT; -- 没有的 SELECT 'ABC';

2. 数据类型差异

OracleMysql
VARCHAR2(X)VARCHAR(X)
NUMBER(X,Y)INT / FLOAT / DOUBLE
DATEDATE / TIMESTAMP

3. 函数差异

OracleMysql
SYSDATENOW() / CURRENT_DATE()
UNIX_TIMESTAMP()
FROM_UNIXTIME()
TO_DATE / TO_CHARDATE_FORMAT
日期A - 日期BDATEDIFF(日期A, 日期B)
日期A - 天数DATE_SUB(日期, INTERVAL N DAY)
日期A + 天数DATE_ADD(日期, INTERVAL N DAY)
REGEXP_SUBSTRSUBSTRING_INDEX
WM_CONCATGROUP_CONCAT
|| / CONCATCONCAT(X,Y,Z)
分页查询 ROWNUMLIMIT M,N

sql

SELECT NOW(), CURRENT_DATE(), UNIX_TIMESTAMP(), DATE_FORMAT(NOW(),'%Y/%m/%d'), FROM_UNIXTIME(1); SELECT SUBSTRING_INDEX('A-B-C','-',2); SELECT * FROM T_STUDENT LIMIT 0,1;

4. 程序块的区别

示例:往 LEE.T_ID 表全量插入 1~100

sql

DELIMITER $$$ DROP PROCEDURE IF EXISTS P_AAA; CREATE PROCEDURE P_AAA() BEGIN TRUNCATE TABLE LEE.T_ID; SET @A = 1; WHILE @A <= 100 DO INSERT INTO LEE.T_ID VALUES(@A); SET @A = @A + 1; END WHILE; END$$$ DELIMITER ; -- 调用 CALL LEE.P_AAA(); -- 验证 SELECT * FROM LEE.T_ID;

程序块的分隔符(自定义的)$$$ 可以重复使用

http://www.rkmt.cn/news/1309312.html

相关文章:

  • 破解菠萝蛋白酶行业痛点:3C定制质控方法论如何实现高品质供应? - 速递信息
  • 从自动驾驶到无人机:手把手教你用C++实现扩展卡尔曼滤波(EKF)进行传感器融合
  • 基于STM32C8T6的智能衣柜系统:从环境感知到多模态交互的毕业设计实践
  • 当AI开始检测自身缺陷:测试工具失控的风险与应对
  • 英雄联盟内存换肤神器:R3nzSkin全攻略
  • 从点云到抓取:6-DOF GraspNet如何革新未知物体的灵巧操作
  • QKeyMapper:Windows平台上的全能输入设备映射专家
  • 【限时解密】NotebookLM量子研究私有化部署方案(仅开放至Q3末,含IBM Qiskit v1.2兼容补丁)
  • NotebookLM如何3步重构科研工作流:从文献综述到实验设计的自动化跃迁(附NASA/JPL真实项目复盘)
  • 微信客户端自动化工具开发指南:从协议模拟到风险控制
  • 别再手动敲测试数据了!用Verilog的$readmemh/$readmemb从文件加载,效率翻倍(附Vivado/Modelsim路径避坑指南)
  • 冻肉切丁机性价比排名:企业采购选型策略深度解析
  • Qt + OpenGL实战:手把手教你打造一个可交互的3D点云数据查看器(附CSV加载)
  • Shell 相关基础入门,在 Ubuntu 与 CentOS Shell 中的语法差异总结(bash、dash、sh)
  • UDS诊断实战解析(七)—— DTC状态位深度剖析与诊断策略
  • 硬件选型指南:钡特电源 VB30-24S09LD 与金升阳 URB2409LD-30WR3 属工业标准模块电源
  • 第98篇:Vibe Coding时代:Agent 平台商业化计费实战,解决成本不可见、团队无法按量收费的问题
  • 别再到处找破解版了!手把手教你用AnyLogic 8.8.4社区版/学生版合法免费建模
  • 开发者技能树:结构化学习路径与知识库项目解析
  • 2026南昌乱账整理TOP5一文看懂 | 5维评测+老账还原+多年凌乱账+收费拆解 - 资讯焦点
  • 三分钟搞定全网音乐歌词:双平台智能歌词下载工具完全指南
  • 如何在Windows上快速构建完整的词法分析与语法解析工具链
  • 2026年5月水处理荧光法溶氧监测仪国产口碑品牌盘点 - 仪表品牌榜
  • 用中转站省了2万,结果差点泄露公司数据库
  • Cursor Free VIP终极指南:三步破解Cursor AI试用限制,永久免费使用Pro功能
  • 告别臃肿OS!手把手教你用Zephyr_polling在资源受限MCU上跑起蓝牙协议栈
  • 向量数据库技术选型
  • 2026年南昌资深账务合规机构深度榜单 | 5维评测+服务体系+价格对比+15年深耕 - 资讯焦点
  • 红米K60澎湃OS解锁进阶:Delta面具Root实战与BL解锁后系统深度定制指南
  • Gemini3.1Pro数据分析报告自动化实战