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

Orcale、MySQL中参数类型的详解和运用场景(带示例)

Oracle 中的参数类型及运用场景

1. 数值类型
  • NUMBER(p, s)
    • 详解p 表示精度(即数字的总位数),s 表示小数位数。例如,NUMBER(5, 2) 可以存储最大为 999.99 的数字。
    • 运用场景:适用于需要精确计算的财务数据,如货币金额、税率等。
    • 示例
CREATE TABLE financial_data (
    amount NUMBER(10, 2)
);
INSERT INTO financial_data (amount) VALUES (123.45);
  • BINARY_FLOAT 和 BINARY_DOUBLE
    • 详解:分别是单精度和双精度浮点数类型,用于存储近似数值。
    • 运用场景:适用于科学计算、工程计算等对精度要求不是极高,但需要处理大量数据的场景。
    • 示例
CREATE TABLE scientific_data (
    measurement BINARY_FLOAT
);
INSERT INTO scientific_data (measurement) VALUES (3.14159);
2. 字符类型
  • VARCHAR2(size)
    • 详解:可变长度的字符类型,size 表示最大长度。存储的数据长度可以小于 size
    • 运用场景:适用于存储长度不固定的字符串,如姓名、地址等。
    • 示例
CREATE TABLE employees (
    name VARCHAR2(50)
);
INSERT INTO employees (name) VALUES ('John Doe');
  • CHAR(size)
    • 详解:固定长度的字符类型,size 表示长度。如果存储的数据长度小于 size,会用空格填充。
    • 运用场景:适用于存储长度固定的字符串,如身份证号码、邮政编码等。
    • 示例
CREATE TABLE customers (
    postal_code CHAR(6)
);
INSERT INTO customers (postal_code) VALUES ('123456');
3. 日期和时间类型
  • DATE
    • 详解:存储日期和时间信息,精确到秒。
    • 运用场景:适用于存储各种日期和时间相关的数据,如订单日期、生日等。
    • 示例
CREATE TABLE orders (
    order_date DATE
);
INSERT INTO orders (order_date) VALUES (SYSDATE);
  • TIMESTAMP
    • 详解:比 DATE 类型更精确,可以存储小数秒。
    • 运用场景:适用于需要更高时间精度的场景,如记录事件发生的精确时间。
    • 示例
CREATE TABLE events (
    event_time TIMESTAMP
);
INSERT INTO events (event_time) VALUES (SYSTIMESTAMP);

MySQL 中的参数类型及运用场景

1. 数值类型
  • INT
    • 详解:用于存储整数,根据存储范围不同还有 TINYINTSMALLINTMEDIUMINTBIGINT 等变体。
    • 运用场景:适用于存储数量、年龄等整数数据。
    • 示例
CREATE TABLE products (
    quantity INT
);
INSERT INTO products (quantity) VALUES (10);

  • DECIMAL(p, s)
    • 详解:和 Oracle 的 NUMBER 类似,p 表示精度,s 表示小数位数,用于存储精确的小数。
    • 运用场景:适用于财务数据,如商品价格、账户余额等。
    • 示例
CREATE TABLE prices (
    product_price DECIMAL(8, 2)
);
INSERT INTO prices (product_price) VALUES (9.99);
2. 字符类型
  • VARCHAR(length)
    • 详解:可变长度的字符类型,length 表示最大长度。
    • 运用场景:适用于存储长度不固定的字符串,如文章标题、评论内容等。
    • 示例
CREATE TABLE articles (
    title VARCHAR(200)
);
INSERT INTO articles (title) VALUES ('My First Article');
  • CHAR(length)
    • 详解:固定长度的字符类型,length 表示长度。
    • 运用场景:适用于存储长度固定的字符串,如性别('M' 或 'F')、状态码等。
    • 示例
CREATE TABLE users (
    gender CHAR(1)
);
INSERT INTO users (gender) VALUES ('M');
3. 日期和时间类型
  • DATE
    • 详解:存储日期,格式为 YYYY-MM-DD
    • 运用场景:适用于只需要存储日期信息的场景,如出生日期、注册日期等。
    • 示例
CREATE TABLE users (
    birth_date DATE
);
INSERT INTO users (birth_date) VALUES ('1990-01-01');
  • DATETIME
    • 详解:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS
    • 运用场景:适用于需要同时记录日期和时间的场景,如订单创建时间、登录时间等。
    • 示例
CREATE TABLE orders (
    create_time DATETIME
);
INSERT INTO orders (create_time) VALUES ('2025-02-22 12:30:00');
  • TIMESTAMP
    • 详解:和 DATETIME 类似,但 TIMESTAMP 会自动更新为当前时间戳,并且存储范围比 DATETIME 小。
    • 运用场景:适用于记录数据的最后修改时间。
    • 示例
CREATE TABLE products (
    last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

综上所述,选择合适的参数类型可以提高数据库的性能和数据存储的准确性,根据具体的业务需求和数据特点来选择合适的类型是非常重要的。

我的SQL专栏中有对上述参数表格版,可移步阅读。

相关文章:

  • 设计模式-Java
  • rknn 板端运行程序Invalid RKNN model version 6, Meet unsupported rknn target type
  • 答题卡识别阅卷系统(Matlab)
  • 【区块链】区块链密码学基础
  • 深度学习中的学习率调度器(lr_scheduler)详解:以 Cosine 余弦衰减为例(中英双语)
  • 内网穿透工具NPC(客户端以命令行方式连接详细教程)
  • 前端中的拖拽知识
  • SpringBoot项目实现用户token和资源的多重校验
  • 【面试系列】Java开发--AI常见面试题
  • 微信小程序项目 video 组件失效问题,无法播放本地视频
  • 大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1)
  • Percona XtraDB Cluster (PXC) 8.0的搭建
  • 【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)
  • 为什么在 TypeScript 中需要使用 import type?——以 Babylon.js 为例
  • 无人机仿真、感知、规划
  • 千峰React:函数组件使用(2)
  • GIS地图、轨道交通与智能驾驶UI设计:未来交通的智能化探索
  • TPU(Tensor Processing Unit)详解
  • nnUNet V2修改网络——加入MultiResBlock模块
  • 1.25作业
  • 5月人文社科中文原创好书榜|巫蛊:中国文化的历史暗流
  • 美国第一季度经济环比萎缩0.3%
  • 从孔雀尾巴到蒙娜丽莎,一个鸟类学博士眼中的“美”
  • 昂立教育:去年减亏1.39亿元,今年以“利润持续增长”为核心目标
  • 深入贯彻中央八项规定精神学习教育中央指导组培训会议召开
  • 见证上海援藏30年成果,萨迦非遗珍品展来沪