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

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专栏中有对上述参数表格版,可移步阅读。


http://www.kler.cn/a/558190.html

相关文章:

  • 鸿蒙NEXT应用App测试-通用测试
  • 【龙智】Confluence到期日提醒插件Data Center v1.8.0发布:Confluence 9兼容、表格提醒强化,Slack通知升级
  • XTOP3D的DIC技术在极端条件下的应用解决方案
  • 【蓝桥杯集训·每日一题2025】 AcWing 6134. 哞叫时间II python
  • 1.26作业
  • Java 封装
  • 如何利用AWS算力构建高效AI场景案例:从大模型训练到部署实战
  • Element UI中messageBox怎么区分点击取消按钮关闭弹窗,和点击右上角x号以及点击遮罩层关闭按钮
  • pgAdmin4在mac m1上面简单使用(Docker)
  • [Linux]从零开始的STM32MP157 U-Boot网络命令讲解及相关配置
  • 聊聊 FocusSearch/focus_mcp_sql:Text2SQL 的新玩法
  • web安全:跨站请求伪造 (CSRF)
  • Java四大框架深度剖析:MyBatis、Spring、SpringMVC与SpringBoot
  • anaconda不显示jupyter了?
  • 小红书架构演进与关键技术解析
  • 泛微OA编写后端Rest接口
  • Go 错误处理与调试:面向对象的入门教程
  • 系统架构设计师备考策略
  • 【Java从入门到起飞】数组
  • 安卓系统远程控制电脑方法,手机远控教程,ToDesk工具