达梦数据库关于表数据库的操作

表数据操作

数据操作是数据库管理系统的基本功能,包括数据的插入、修改和删除等。在实际用中,应用程序会并发操作数据库,导致出现数据库数据的不一致性和并发操作问是达梦数据库利用事务和封锁机制实现数据并发存取,保障数据的完整性。

1.插入表数据

表数据插入语句用于往已经定义好的表中插入单个或成批的数据。INSERT语句有两种形式:一种形式是值插入,即构造一行或多行值,并将它们插入表中;另一种形式是询插入,即通过返回一个查询结果集以构造要插入表的一行或多行值。
<1>.值插入
单行或多行数据插入语句格式如下: INSERT INTO<表名>[(<列名>{,<列名>})]
VALUES(<插入值>{,<插入值>});(<插入值>{,<插入值>}){,(<插入值>{,<插入值>})};
其中:(1)<列名>指明表或视图中列的名称,在插入记录中,这个列表中的每个列都被 VALUES子句或查询说明赋予一个值,如果在此列表中省略了表的一个列名,则用先前定义好的默认值插入这一列中,如果此列表被省略,则必须在VALUES子句和查询中为表中的所有列指定值;
(2)<插入值>指明在列表中对应的列插入的列值,如果列表被省略了,则插入的列值按照基表中列的定义顺序排列;
(3)当插入的是大数据文件时,启用@,对应的<插入值>格式为@'path'。
【例】单位新成立了一个部门“大数据事业部”(department_id-'909),在部门表(department)中添加该单位,插入语句为
INSERT INTO department(department_id,department_name) VALUES(909,大数据事业部'); COMMIT;

<2>.查询插入
查询插入语句格式如下:
INSERT INTO<目标表名>[(<列名>{,<列名>})]
SELECT<列名>{,<列名>}FROM 源数据表名[WHERE条件]
【例】有一张新表“老员工表”(oldemployee),表字段包括员工ID(employee_id)所属部门(departmentname)、入职日期(hire_date)、工资(salary),要求将入职日期早于“2009-01-01”的员工数据插入该新表中,插入语句如下:
insert into oldemployee(employee_id,department_namehire_date,salary) select a.employee_id,b.department_name,a.hire_date, a.salary from employee a,department b
where a.departmentid=b.department_id AND a.hire_date<TO_DATE('2009-01-01');

commit;

2.修改表数据
表数据修改语句用于修改表中已存在的数据。表数据修改语句的语法格式如下:
UPDATE<表名>SET<列名>=<值表达式>|DEFAULT>{<列名>=<值表达式>|DEFAULT>}[WHERE<条件表达式>];
其中:(1)<表名>指明被修改数据所在表的名称;
(2)<列名>指明表或视图中被更新列的名称,如果 SET 子句中省略列的名称,则列的值保持不变;
(3)<值表达式>指明赋予相应列的新值;
(4)<条件表达式>指明限制被更新的行必须符合指定的条件,如果省略此子句,则修改表中所有的行。
【例】
1.更新苹果的出产地的编号(oid)。
update friut set oid='A02' where fid='1';
2.更新fid为3这条记录为巴西香蕉,产地编号为C01。
update friut set fname='巴西香蕉',oid='C01' where fid='3';
3.删除表数据
表数据删除语句用于删除表中已存在的数据。表数据删除语句只删除表中的数据,并不会删除表本身。另外,如果表中的记录被引用,则需要先删除引用表中的数据。表数据删除语句的语法格式如下:
DELETE FROM<表名>[WHERE<条件表达式>]
其中:
(1)<表名>指明被删除数据的表名称;
(2)<条件表达式>指明限制被更新的行必须符合指定的条件,如果省略此子句,则删除表中所有的行;
(3)DELETE语句删除的是表中的数据,而不是关于表的定义。
【例】
1.删除“大数据事业部”的部门信息,
 DELETE FROM department WHERE departmentname=大数据事业部; COMMIT;
2.删除出版社是“清华大学出版社”的记录。
DELETE FROM library00.TBL_Bookinfo WHERE publisher='清华大学出版社';COMMIT;
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值