当前位置: 首页 > 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.jsqmd.com/news/838870/

相关文章:

  • js中,!==
  • 告别ChatGPT频繁掉线!手把手教你用油猴脚本KeepChatGPT实现稳定对话(附详细配置)
  • 破解菠萝蛋白酶行业痛点:3C定制质控方法论如何实现高品质供应? - 速递信息
  • 从自动驾驶到无人机:手把手教你用C++实现扩展卡尔曼滤波(EKF)进行传感器融合
  • 基于STM32C8T6的智能衣柜系统:从环境感知到多模态交互的毕业设计实践
  • 终极指南:3分钟掌握PyInstaller可执行文件提取技巧
  • 基于Whisper的日语视频自动转录与字幕生成实战指南
  • 5步快速搭建Noah-MP陆面模型:从零开始的完整环境配置教程
  • NotebookLM如何3步重构科研工作流:从文献综述到实验设计的自动化跃迁(附NASA/JPL真实项目复盘)
  • 终极指南:3步免费解锁QQ音乐加密文件,让音乐随处可听
  • 别再让射频信号走直角了!PCB布线中切角与圆角的实战选择(附HFSS仿真对比)
  • 无锡亨得利手表日常佩戴专业养护全攻略:2026年5月官方网点实地测评与50+品牌佩戴保养避坑手册(含百达翡丽、江诗丹顿、爱彼、欧米茄等真实案例) - 亨得利腕表维修中心
  • 智能日志切割工具Scalpel:基于内容感知的精准文件分割实践
  • 深度解析硬件访问库:WinRing0完整实现与配置指南
  • 魔兽争霸3终极优化指南:三步告别卡顿与显示异常
  • UDS诊断实战解析(七)—— DTC状态位深度剖析与诊断策略
  • 未来企业不是“AI 工具型企业“——是 AI 驱动型企业
  • 显卡驱动清理终极指南:如何用DDU彻底解决驱动残留问题 [特殊字符]
  • 如何彻底告别Windows和Office激活难题:智能激活解决方案完整指南
  • 2026年5月自来水余氯仪厂家推荐:工程选型实拍 - 仪表品牌排行榜
  • 硬件选型指南:钡特电源 VB30-24S09LD 与金升阳 URB2409LD-30WR3 属工业标准模块电源
  • 2026年最新的 主流出险记录查询小程序排行 多维度实测对比 出险记录查询小程序、公众号推荐 - 奔跑123
  • 第98篇:Vibe Coding时代:Agent 平台商业化计费实战,解决成本不可见、团队无法按量收费的问题
  • AI应用的可观测性建设:从日志到链路追踪
  • AI智能体技能库:模块化设计、标准化实现与LangChain集成实战
  • 保姆级教程:用Vue3+webrtc-streamer搞定海康/大华监控的Web实时播放(附完整代码)
  • Universal-IFR-Extractor终极指南:三步解密EFI/UEFI固件内部表单
  • 别再到处找破解版了!手把手教你用AnyLogic 8.8.4社区版/学生版合法免费建模
  • 一份给成都业主的中央空调服务商挑选指南 - 速递信息
  • MultiFunPlayer完整指南:3分钟学会设备与媒体完美同步,打造沉浸式娱乐体验