达梦数据DML
目录
1.数据检索
1.1 适用场景
- Linux OS - Version Centos Linux 7.0 and later
- Database – DM8.0 and later
- CPU ARC - x86, ARM
1.2 概要描述
解决如何在DM数据库中执行増、删、改操作。
1.3 操作方法
1.3.1 插入新行
INSERT INTO dmhr.employee VALUES(
11146,'Dameng','220103198501166001','whdm@dameng.com','13712346385','2020-10-26','52',9500.00,0,11005,1105);
1.3.2 多行插入
创建测试表:
CREATE TABLE dmhr.test AS
SELECT employee_id,employee_name, identity_card, salary, department_id FROM dmhr.employee WHERE 1=2;
多行插入:
INSERT INTO dmhr.test
VALUES
(1109, '程东生', '410107197103252999', 4400, 102),
(1110, '王金玉', '410107197103258999', 4300, 102),
(1111, '程东生', '410107197103252999', 4400, 102);
commit;
SELECT * FROM dmhr.test;
1.3.3 选择性插入
可以按指定列插入行,未指定的值的列上第定义了默认值,则插入默认值。没有指定默认值,但可以为NULL,则插入NULL值。
创建测试表
CREATE TABLE dmhr.t1(
id integer PRIMARY KEY,
name varchar(12) DEFAULT 'dm2020',
class_id integer NOT NULL,
tp timestamp DEFAULT SYSDATE);
插入数据
INSERT INTO dmhr.t1(id, class_id) values(1,103);
有缺省值的在不列出的情况下,自动填入。
1.3.4 复制表结构
需要快速复制表结构并且不需要数据的情况,按如下操作
CREATE TABLE dmhr.t2 AS SELECT * FROM dmhr.t1 WHERE 1=0;
注:使用SP_TABLEDEF过程查看t2的结构,所有定义在t1列上的约束全部都没有被新表继承。
使用如下语句添加各类约束:
ALTER TABLE dmhr.t2 ADD PRIMARY KEY (id);
ALTER TABLE