05 数据操纵之插入数据 | OushuDB 数据库使用入门

本文介绍了如何在OushuDB中进行数据操纵,包括使用INSERT命令插入数据,区分无列名和带列名的插入方式,以及支持更新和删除的表格式。展示了实例,如中国部门数据迁移和多行数据插入技巧。

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

大家好,这一节课我们来学习数据操纵,在完成数据库的创建后,我们需要对数据库进行读写操作。

最常见的数据操纵方式包括插入数据、更新数据和删除数据。

目前OushuDB兼容的表格式中,目前只有ORC和MAGMA格式的表支持更新和删除操作,AO格式的表不支持。

 

插入数据

我们可以通过使用INSERT命令来创建一个新行,命令中要求提供表名字以及列值。

例如,我们在上节中创建了部门信息表:

create table department( d_id int, d_name varchar(32), d_nation varchar(32), d_city varchar(32) );

我们可以通过

insert into department values(100, 'CEO办公室','中国','北京');

来插入一行数值,数据值用逗号进行分隔,顺序与这些列在表中出现的顺序一致。

然后我们用select * from 表名,来查询一下数据。

通过这样的插入方式,你需要提前知道表中列的顺序。 

你也可以通过列出列名,并提供对应的数值来插入。

比如,这条带列名但打乱顺序的命令和上面的那条命令效果相同:

insert into department (d_id, d_nation,d_city,d_name) values(100,'中国','北京', 'CEO办公室');

 

同时,这样做的好处是,如果你不知道其中一些列的值,你可以省掉它。比如这条语句,省去了d_city,d_nation和字段,依旧可以正常插入数据。

insert into department (d_id, d_name) values(111, '其他');

 

当我们需要插入多行数据时,可以通过多个insert语句来完成,也可以通过带多个数据行的insert语句来完成,我们只需要将这些数据行通过逗号来连接。

例如,

insert into department values (101, '开发一部', '中国', '北京'), (102, '开发二部', '美国', '旧金山'), (103, '测试一部', '中国', '香港'), (104, '销售部', '中国', '上海'), (105, '市场部', '中国', '上海'), (106, '财务部', '中国', '广州');

便可以插入多行数据。

 

另外,我们也可以插入从其他表单查询的结果。例如我们创建一个新表department_China,用于存储所有在中国的部门。

那么我们可以根据需求,将department的数据导入过来。例如,我们需要导入所有地理位置在中国的部门数据。

create table department_China( d_id int, d_name varchar(32), d_city varchar(32) );

INSERT INTO department_China (d_id, d_name, d_city)
SELECT d_id, d_name, d_city FROM department
  WHERE d_nation = '中国';

 

这里使用了一个查询语句,在后面的课程中,我们会具体讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值