Oracle插入数据

本文介绍了如何在Oracle数据库中插入数据,包括规范的插入语法,如何省略列名声明,处理列值为null的情况,以及如何在创建表时设置默认值。同时,展示了将插入操作与子查询结合使用的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建表格并指定结构

CREATE TABLE DB3.STUINFO(
STUID INT,
STUNAME VARCHAR(10),
SEX INT,
AGE INT,
CLASSNO VARCHAR(10),
STUADDRESS VARCHAR(10),
GRADE INT,
ENROLDATE DATE,
IDNUMBER VARCHAR(20));

2、插入数据

规范用法

INSERT INTO table(col1,col2...) VALUES(value1, value2...)

如:

INSERT INTO DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
 '3503021992XXXXXXXX');

可以发现数字即便加上引号,Oracle也能智能识别。

当前后一一对应时也可省略table后的列名声明:

INSERT into DB3.STUINFO 
values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');

省略列名声明的情况下,前后类型不对应或缺失信息时将报错。

指定列名时,未指定值的列默认填充为null:

INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');

在这里插入图片描述

也可在创建表结构的同时为列指定默认值,当无对应输入时自动填充:

CREATE TABLE a (
id INT,
name CHAR(10) default 'a',
class INT NOT NULL
);
INSERT INTO a
VALUES (1,NULL,1);
 
INSERT INTO a (id,class)
VALUES (1,1);

可得到:
在这里插入图片描述

3、可与子查询合用

INSERT INTO a(id,class)
VALUES ((SELECT STUID FROM STUINFO WHERE STUNAME='龙七'),2);

在这里插入图片描述

STUINFO构建总命令:

CREATE TABLE DB3.STUINFO(
STUID INT,
STUNAME VARCHAR(10),
SEX INT,
AGE INT,
CLASSNO VARCHAR(10),
STUADDRESS VARCHAR(10),
GRADE INT,
ENROLDATE DATE,
IDNUMBER VARCHAR(20));


INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
 '3503021992XXXXXXXX');
  
INSERT into DB3.STUINFO 
values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');

INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');

INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (3, '龙九', 2, 23, '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');

INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (3, '龙九', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');

INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values (4, '龙十', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值