Oracle 学习之 DML 语句

1. 数据库

2. 表

2.1. SELECT

sql 复制代码
SELECT 
	* 
FROM 
	SYS_USER
WHERE
	AGE > 18;

2.2. INSERT

sql 复制代码
INSERT INTO SYS.SYS_USER(
	ID, 
	USER_NAME, 
	AGE, 
	SEX, 
	CRT_BY, 
	CRT_TM,
	UPD_BY,
	UPD_TM
) VALUES (
	sys_guid(), 
	'ZHANGSAN', 
	18, 
	'1', 
	'100001', 
	sysdate,
	'100001',
	to_date('2024-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS')
);

2.3. UPDATE

sql 复制代码
UPDATE
	SYS_USER
SET 
	USER_NAME = 'ZHANGSAN',
	AGE = 18
WHERE
	USER_ID = '0001';

2.4. DELETE

sql 复制代码
DELETE 
	SYS_USER
WHERE 
	USER_ID = '0001';

2.5. MERGE INTO

sql 复制代码
MERGE INTO 
	SYS_USER su
USING (
	<foreach collection = "list" item = "item" separator="UNION ALL">
	SELECT 
		#{req.id} AS id,
		#{req.userName} AS userName,
		#{req.age} AS age,
		#{req.sex} AS sex,
		#{req.crtBy} AS crtBy,
		#{req.crtTm} AS crtTm,
		#{req.updBy} AS updBy,
		#{req.updTm} AS updTm
	FROM dual
	</foreach>
) t
ON (
	su.id = t.id
)
WHEN MATCHED THEN 
	UPDATE SET 
		su.USER_NAME = t.userName,
		su.AGE = t.age,
		su.SEX = t.sex,
		su.UPD_BY = t.updBy,
		su.UPD_TM = t.updTm
WHEN NOT MATCHED THEN 
	INSERT (
		su.ID,
		su.USER_NAME,
		su.AGE,
		su.SEX,
		su.CRT_BY,
		su.CRT_TM,
		su.UPD_BY,
		su.UPD_TM
	) VALUES (
		sys_guid(),
		t.userName,
		t.age,
		t.sex,
		t.crtBy,
		t.crtTm,
		t.updBy,
		t.updTm
	)

3. 字段

3.1. 数据类型

数据类型 分类 简述 示例 默认 大小
NUMBER 数字 精度:1, 38 小数位数:-64, 127 NUMBER(18,4),其中18 为精度,4 为小数位数, 精度:38 小数位数:0
BINARY_DOUBLE 数字 用于存储双精度的64位浮点数
BINARY_FLOAT 数字
CHAR 字符串
VARCHAR 字符串
VARCHAR2 字符串
NVARCHAR2 字符串 sys_guid()
LONG 字符串
LONG RAW 字符串
BLOB 字符串
CLOB 字符串
NCLOB 字符串
DATE 时间
TIMESTAMP 时间
TIMESTAMP WITH TIME ZONE 时间
TIMESTAMP WITH LOCAL TIME ZONE 时间
INTERVAL_DAY_TO_SECOND 时间
INTERVAL_YEAR_TO_MONTH 时间
RAW 字符串

3.2. 特殊场景

场景 函数 示例
主键 sys_guid()
时间 sysdate TO_DATE('2024-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS') / TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')

4.

相关推荐
倔强的石头_8 小时前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB10 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
jiayou642 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr3 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩4 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库