一、达梦数据库简介

        达梦数据库是一款具有完全自主知识产权的高性能数据库管理系统,简称为DM

        达梦数据库由达梦公司推出,是中国自主研发的关系型数据库管理系统。它采用了全新的体系架构,在保证大型通用性的基础上,特别针对可靠性、高性能、海量数据处理和安全性等方面做了大量优化和提升。达梦数据库的最新版本是8.0版本,简称DM8,该版本在性能和功能上都有所增强,能够满足不同规模和领域的应用需求。

        达梦数据库自推出以来,已经在公安、政务、信用、司法、审计、住建、国土、应急等多个领域得到了广泛应用。它的发展历程中,每一个版本都在适应时代需求的同时具备了一定的特色和优势。对于数据库从业者来说,达梦数据库的发展不仅提供了更多的选择,也展示了国产数据库技术的成熟和进步。

        达梦数据库是一款安全、稳定且性能优秀的国产数据库产品,它的出现和发展对于推动国内数据库技术的进步和保障国家信息安全具有重要意义

二、sql语言


         结构化查询语言 SQL(Structured Query Language) 是在 1974 年提出的一种关系数


据库语言。由于 SQL 语言接近英语的语句结构,方便简洁、使用灵活、功能强大,倍受用


户及计算机工业界的欢迎,被众多计算机公司和数据库厂商所采用,经各公司的不断修改、


扩充和完善, SQL 语言最终发展成为关系数据库的标准语言。


        

        DM_SQL 语言符合结构化查询语言 SQL 标准,是标准 SQL 的扩充。它集数据定义、数



据查询、数据操纵和数据控制于一体,是一种统一的、综合的关系数据库语言。它功能强大,



使用简单方便、容易为用户掌握。




MSQL 分类



DMSQL 分为: DML 、 DDL 、 DCL 、 TCL



DML: 数据操纵语言, insert,update,select,delete



DDL: 数据定义语言, create table,alter table,drop table



DCL: 数据控制语言, grant,revoke



TCL: 事务控制语言, commit,rollback




SQL 书写规范:



SQL 语句大小写不敏感,字符串大小写敏感



SQL 可以写在一行,也可以写在多行



关键字不能被拆分,缩写



SQL 以分号结尾




三、介绍一些常用的sql

简单查询:

在达梦管理工具中,长摁t12表拖到查询框中,就会自动写上select  * ,这是一个非常实用的功能

达梦数据库 timestamp 操作 达梦数据库sid_学习

去重查询:

select distinct * from "SYSDBA"."T12";

达梦数据库 timestamp 操作 达梦数据库sid_学习_02



接表达式:




select id+1000 from "SYSDBA"."T12";




达梦数据库 timestamp 操作 达梦数据库sid_数据_03


select name||'您的id是'||id+1000 from "SYSDBA"."T12";

|| 不仅可以连接列,也可以连接字符串

达梦数据库 timestamp 操作 达梦数据库sid_学习_04


过滤查询:

select * from "SYSDBA"."T12" where id in (2,3) ;

达梦数据库 timestamp 操作 达梦数据库sid_学习_05


Like 模糊查询


Like_ 匹配 1 个字符


Like% 匹配 0 个或多个字符


% 或者 _ 在前,查找以 .... 开头


select * from "SYSDBA"."T12" where name like '3_' ;
 


达梦数据库 timestamp 操作 达梦数据库sid_达梦数据库 timestamp 操作_06


             



分组汇总


( 1 )聚合函数


Count 统计,计数


Sum 求和


Avg 求平均值


Min 最小值


Max 最大值


select count() from ;


select sum() from ;


( 2 )分组函数


Group by


语法:


Select () from () group by ();


Select () from () where () group by ();


除了聚合函数出现的列不用跟在 group by 后面,其他查询的列都要跟在 group by


后面。


select count(*),id from T12 group by id;
 


达梦数据库 timestamp 操作 达梦数据库sid_SQL_07


查询数量大于1的id数据行


达梦数据库 timestamp 操作 达梦数据库sid_数据库_08


表空间:


管理工具中表空间,右击能够直接新建


达梦数据库 timestamp 操作 达梦数据库sid_学习_09


达梦数据库 timestamp 操作 达梦数据库sid_数据_10


选文件路径,可以设置表空间的相关信息,文件大小等


达梦数据库 timestamp 操作 达梦数据库sid_数据_11


选好后可以直接点击确定,当然也可以看看sql语句,然后复制出来自己执行


create tablespace "ascas" datafile 'D:\xiangrikui\sd.dbf' size 128 CACHE = NORMAL;


达梦数据库 timestamp 操作 达梦数据库sid_达梦数据库 timestamp 操作_12


创建,修改用户


管理工具中的用户管理:


达梦数据库 timestamp 操作 达梦数据库sid_达梦数据库 timestamp 操作_13


create user "TEST" identified by "Dameng123"


达梦数据库 timestamp 操作 达梦数据库sid_数据_14


修改用户的密码


alter user TEST identified by "Dm12345678";


达梦数据库 timestamp 操作 达梦数据库sid_达梦数据库 timestamp 操作_15


用户的锁定和解锁


alter user TEST ACCOUNT lock;


alter user TEST ACCOUNT unlock;


达梦数据库 timestamp 操作 达梦数据库sid_学习_16


有时候我们会遇到数据重复的情况,忘记加主键,唯一索引等情况


那怎么查询并去重呢?


select count(*),id from t12 group by id having count(*)>0;
 


可以看到id为2的数据有两条,而id 为3的数据只有1条


达梦数据库 timestamp 操作 达梦数据库sid_数据库_17


delete from t12 a where exists (select 1 from t12 b where a.id=b.id and a.ROWID>b.ROWID ) ;



可以通过这个sql语句删除数据库中重复的数据,实现的逻辑可以自己理解一下,通过 rowid实现


达梦数据库 timestamp 操作 达梦数据库sid_数据库_18


当然也有第二种删除的方式,逻辑自己理解一下,是通过rowid实现


DELETE FROM t12
WHERE ROWID NOT IN (
  SELECT MIN(ROWID)
  FROM t12
  GROUP BY id
);


达梦数据库 timestamp 操作 达梦数据库sid_SQL_19