猿创征文|我这样看国产【达梦】数据库的

举报
红目香薰 发表于 2022/09/30 19:45:12 2022/09/30
【摘要】 ​ ​编辑这几天正好琢磨国产数据库呢,CSDN又有对应的活动,我简述一下达梦数据库的使用,很方便,给了在线环境,不需要自己进行搭建测试,如果为了公司有去国外技术开发需求可以使用这个,用起来也不复杂,并且国内排名也比较高,很多领导都会选择这个数据库。对于程序员来说,掌握国产的第一名的数据库产品使用方法还是很有必要的。毕竟我们是靠技术吃饭的,多一门技能还是更好的。这几年很多部门都在将国外数据库转...

 

编辑

这几天正好琢磨国产数据库呢,CSDN又有对应的活动,我简述一下达梦数据库的使用,很方便,给了在线环境,不需要自己进行搭建测试,如果为了公司有去国外技术开发需求可以使用这个,用起来也不复杂,并且国内排名也比较高,很多领导都会选择这个数据库。对于程序员来说,掌握国产的第一名的数据库产品使用方法还是很有必要的。毕竟我们是靠技术吃饭的,多一门技能还是更好的。这几年很多部门都在将国外数据库转成国内数据库,这也是个很大的市场呢。

下面我简述了达梦数据库的常用SQL语句的使用方法,希望能对大家创造一些价值。


达梦官网:武汉达梦数据库有限公司

编辑

目录

下载中心

注册完成

在线测试

查看达梦数据库运行状态

查看达梦数据库版本

创建用户

权限给予

查看用户信息

切换到DM用户

建表语句

约束添加

查看表结构

查看外键

插入语句

修改语句

新旧数据查询

删除语句

批量添加数据-方便测试

排序数据

分组查询

创建视图

创建索引

删除索引

序列SEQUENCE

使用总结



下载中心

下载中心-武汉达梦数据库有限公司

编辑

这里提供了在线测试,但是需要注册,注册使用手机号注册即可。

注册完成

编辑

注册完成后有个个人后台,后台里能看到各种教程。

在线测试

试玩 | 达梦在线服务平台

编辑

这里提供了19个提示步骤,就是语句的使用方法。

查看达梦数据库运行状态

查看数据库运行状态,使用如下语句:

SELECT status$ as 状态 FROM v$instance;

编辑

查看达梦数据库版本

查看版本信息,使用如下语句:

SELECT banner as 版本信息 FROM v$version;

 编辑

创建用户

使用的还是Create语句,与SQL没区别。

CREATE USER DM IDENTIFIED BY "dameng123";

权限给予

这里权限给予还是挺麻烦的,幸好直接给语句了,咱们能直接用。

GRANT RESOURCE TO DM;
GRANT SELECT ON dmhr.employee TO DM;
GRANT SELECT ON dmhr.department TO DM;

查看用户信息

SELECT username,account_status,created FROM dba_users
     WHERE username='DM';


编辑

切换到DM用户

切换用户,使用的是conn命令,也就是我们经常使用的链接数据库的conn变量。

编辑

查看登录用户:

SELECT user FROM DUAL;

编辑

建表语句

CREATE TABLE employee
(
  employee_id INTEGER,
  employee_name VARCHAR2(20) NOT NULL,
  hire_date DATE,
  salary INTEGER,
  department_id INTEGER NOT NULL
);
CREATE TABLE department
(
  department_id INTEGER PRIMARY KEY,
  department_name VARCHAR(30) NOT NULL
);

在建表语句中可以看出,还是稍微与平时使用的SQL有一些区别,例如,在创建int类型数据的时候并没有长度约束。

约束添加

非空

  ALTER TABLE employee MODIFY( hire_date not null);

主键

  ALTER TABLE employee ADD constraint pk_empid
       PRIMARY KEY(employee_id);

外键

  ALTER TABLE employee ADD constraint fk_dept FOREIGN KEY
      (department_id) REFERENCES department (department_id);

查看表结构

DESC employee; 

编辑

查看外键

其实,外键这里无所谓,咱们现在开发的过程中几乎没有创建外键约束的。

SELECT table_name, constraint_name, constraint_type FROM
     all_constraints WHERE owner='DM' AND table_name='EMPLOYEE';

编辑

插入语句

这里还是使用insert语句,没变化,但是与Oracle一样,做完DML语句之后需要进行commit。

INSERT INTO department VALUES(666, '数据库产品中心');
INSERT INTO employee VALUES
     (9999, '王达梦','2022-05-30 00:00:00', 30000, 666);
commit;

修改语句

依然使用updata,需要commit才算操作。

UPDATE employee SET salary='35000' WHERE employee_id=9999;
commit;

新旧数据查询

SELECT salary,employee_id FROM employee;

编辑

删除语句

DELETE FROM department WHERE department_id=666;
commit;

批量添加数据-方便测试

CREATE TABLE t1 AS
     SELECT rownum AS id,
       trunc(dbms_random.value(0, 100)) AS random_id,
       dbms_random.string('x', 20) AS random_string
     FROM dual
     connect BY level <= 100000;

可以看到执行10万次才消耗468毫秒。 

编辑

排序数据

使用的是order by,正序:ASC,倒序:DESC。

SELECT * FROM t1 where rownum<5 ORDER BY id DESC;

编辑

分组查询

GROUP BY、HAVING 语句实现分组,这里需要插入一些数据进行测试。

SELECT dept.department_name as 部门, count(*) as 人数
     FROM employee emp, department dept
     where emp.department_id=dept.department_id
     GROUP BY dept.department_name
     HAVING count(*) > 20;

编辑

创建视图

这里才Create View使用方法有一定的区别

CREATE OR replace VIEW v1 AS
     SELECT dept.department_name, emp.employee_name,
     emp.salary,emp.hire_date
     FROM employee emp, department dept
     WHERE salary > 10000
     AND hire_date >= '2022-08-01'
     AND emp.department_id = dept.department_id;

创建完成v1的视图,可以根据常规的sql语句进行查询即可。

创建索引

CREATE INDEX ind_emp_salary ON employee(salary);

删除索引

DROP INDEX IND_EMP_SALARY;

序列SEQUENCE

这里也是仿照Oracle使用了SEQUENCE。

CREATE SEQUENCE SEQ1
     START WITH 1 INCREMENT BY 1 MAXVALUE 10000
     CACHE 5 NOCYCLE;

可以通过

SELECT seq1.nextval() FROM dual;

查看序列的当前数字。

使用总结

在线测试完成后进行下载安装。安装步骤还是很简单的。

编辑

安装步骤和人大金仓差不多。反正国内的数据库都是类似的安装步骤。

编辑

达梦有自己的DM工具,由于是全中文的,所以可以直接学会使用方法。

编辑

将我们自己的MySQL数据库转移到DM上即可正常使用了。

编辑

国产数据库里面达梦数据库排名第一。所以企业选择数据库的时候就会默认选择排名较高的数据库产品。所以搞明白达梦数据库对于国内程序员还是很有必要的。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。