达梦SQL介绍

达梦SQL介绍

1.SQL语言概述

SQL:Structured Query Language,结构化查询语言
SQL:是一个通用的、功能强大的关系数据库语言
特点:容易掌握、精通困难

2.SQL基本功能

⚫数据定义 - CREATE、DROP、ALTER
⚫数据操纵 - INSERT、UPDATE、DELETE
⚫数据控制 - GRANT、REVOKE
⚫数据查询 - SELECT

3.SQL基本对象

⚫ 表空间 – TABLESPACE
⚫ 用户 – USER
⚫ 模式 – SCHEMA
⚫ 表 – TABLE
⚫ 视图 – VIEW
⚫ 列 – COLUMN
⚫ 存储过程 – PROCEDURE
⚫ 存储函数 – FUNCTION
⚫ 存储包 – PACKAGE
⚫ 触发器 – TRIGGER
⚫ 序列 – SEQUENCE
⚫ 索引 – INDEX
⚫ 数据字典 – DICTIONARY

4.SQL基本操作 :

⚫ 创建对象 - CREATE TABLE TABNAME…
⚫ 撤销对象 - DROP TABLE TABNAME…
⚫ 插入数据 - INSERT INTO TABNAME…
⚫ 更新数据 - UPDATE TABNAME…
⚫ 删除数据 - DELETE FROM TABNAME…
⚫ 查询数据 - SELECT * FROM TABNAME…
⚫ 授予权限 - GRANT SELECT ON TABNAME TO…
⚫ 回收权限 - REVOKE SELECT ON TABNAME FROM…

5.SQL语言特点 :

⚫语言简洁、易学易用
⚫非过程化、过程透明
⚫交互方式、嵌入方式
⚫三级模式、集合操作
⚫综合统一、通用性强

6.SQL语言作用

⚫ 按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
⚫ SQL语言主要功能就是同数据库建立联系,进行沟通。
⚫ 关系型数据库管理系统,如DM、Oracle、Sybase 、SQL Server、MYSQL、Access等都采用SQL语言 标准。
⚫ SQL命令可以完成几乎所有的数据库操作。
⚫ 简单的四个字:增、删、改、查。

7.SQL语言作用

⚫ 按照ANSI(美国国家标准协会)的规定,SQL被作 为关系型数据库管理系统的标准语言。
⚫ SQL语言主要功能就是同数据库建立联系,进行沟 通。
⚫ 关系型数据库管理系统,如DM、Oracle、Sybase 、SQL Server、MYSQL、Access等都采用SQL语言 标准。
⚫ SQL命令可以完成几乎所有的数据库操作。
⚫ 简单的四个字:增、删、改、查。

8.SELECT查询语句

SELECT 
	[PREDICATE] {* TABLE.* [TABLE.]FIELD1[, 
	[TABLE.]FIELD2[,...]]} 
FROM 
	TABLEEXPRESSION [,...]  
[WHERE...] 
[GROUP BY...]
[HAVING...] 
[ORDER BY...];

9.使用ISQL执行SQL语句

⚫ ISQL:Interactive Structrue Query Language ,交互结构询问语言。
⚫ 通常指数据库的一个名为ISQL的应用程序。
⚫ ISQL允许你执行交互式的SQL查询。
⚫ ISQL程序启动时,首先会出现一个对话框,要求 输入服务器信息和登录信息,包括SQL服务器的名 字、用户和密码信息等。

⚫ 登录成功,即可在交互式窗口中执行SQL语句。

10.操作多个表
⚫SQL允许一个SELECT语句同时从多个表中取 出数据,只需在SELECT语句的FROM从句中 列出要从中取出数据的表名称即可:
⚫SELECT A., B. FROM 课程成绩 A, 学生 信息 B WHERE A.学号=B.学号 ORDER BY A.课程, B.学号;
⚫这个SELECT语句执行时,同时从“课程成 绩”和“学生信息”表中取出数据。

11.排序查询结果

⚫ SQL表数据没有内在的顺序。然而,你可以操纵一个SQL查询结果的顺 序。
⚫ 例如:看一列没有特定顺序的名字是很不方便的。如果把这些名字按 字母顺序排列,读起来就会容易得多。SELECT AU_LNAME FROM AUTHORS ORDER BY AU_LNAME;
⚫ 你也可以同时对多个列使用ORDER BY子句。SELECT AU_LNAME,AU_FNAME FROM AUTHORS ORDER BY AU_LNAME,AU_FNAME;
⚫ 如果你想把查询结果按相反的顺序排列,你可以使用关键字DESC。 SELECT AU_LNAME,AU_FNAME FROM AUTHORS WHERE AU_LNAME=”RINGER” ORDER BY AU_LNAME ,AU_FNAME DESC;
⚫ 注意:不是特别需要时,不要对查询结果进行排序,因为服务器完成 排序需要消耗资源,即带有ORDER BY 子句的SELECT语句执行起来比 一般的SELECT语句花的时间长。

12.取出互不相同的数据

⚫ 一个表有可能在同一列中有重复的值。也许希望每个值只 被选取一次,你可以使用关键字DISTINCT来做到这一点: SELCET DISTINCT AU_LNAME FROM AUTHORS WHERE AU_LNAME=’RINGER’;
⚫ 当这个SELECT语句执行时,只返回一个记录。通过在 SELECT语句中包含关键字DISTINCT,你可以删除所有重复 的值。
⚫ 警告:如同ORDER BY子句一样,强制服务器返回互不相同 的值也会增加运行开销。

13.视图

⚫ 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列 ,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的 表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我 们也可以提交数据,就像这些来自于某个单一的表。
⚫ 注释:数据库的设计和结构不会受到视图中的函数、WHERE 或 JOIN 语句的 影响。
⚫ CREATE VIEW 语法
⚫ CREATE VIEW VIEW_NAME AS
⚫ SELECT COLUMN_NAME(S)
⚫ FROM TABLE_NAME
⚫ WHERE CONDITION;
⚫ 注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使 用 SQL 语句来重建数据。

14.序列

⚫ 序列是一个数据库实体,通过它多个用户可以产生唯一整数值,可以用序列来自动地 生成主关键字值。
⚫ CREATE SEQUENCE SEQ_QUANTITY INCREMENT BY 10;
⚫ 一旦序列生成,就可以在SQL语句中用以下伪列来存取序列的值
⚫ CURRVAL 返回当前的序列值;
⚫ NEXTVAL 如果为升序序列,序列值增加并返回增加后的值;如果为降序序列,序 列值减少并返回减少后的值。如果第一次对序列使用该函数,则返回序列当前值 ;
⚫ 用户会话在第一次使用CURRVAL之前应先使用NEXTVAL获取序列当前值;之后除非 会话使用NEXTVAL获取序列当前值,否则每次使用CURRVAL返回的值不变。
⚫ 缺省序列:如果在序列中什么也没有指出则缺省生成序列,一个从1开始增量为1且无 限上升
⚫ SELECT SEQ_QUANTITY.CURRVAL,SEQ_QUANTITY.NEXTVAL,SEQ_QUANTITY.CURRVAL;

⚫ 注意:上述结果的差异。

15.序列

⚫ 序列是一个数据库实体,通过它多个用户可以产生唯一整数值,可以用序列来自动地 生成主关键字值。
⚫ CREATE SEQUENCE SEQ_QUANTITY INCREMENT BY 10;
⚫ 一旦序列生成,就可以在SQL语句中用以下伪列来存取序列的值
⚫ CURRVAL 返回当前的序列值;
⚫ NEXTVAL 如果为升序序列,序列值增加并返回增加后的值;如果为降序序列,序 列值减少并返回减少后的值。如果第一次对序列使用该函数,则返回序列当前值 ;
⚫ 用户会话在第一次使用CURRVAL之前应先使用NEXTVAL获取序列当前值;之后除非 会话使用NEXTVAL获取序列当前值,否则每次使用CURRVAL返回的值不变。
⚫ 缺省序列:如果在序列中什么也没有指出则缺省生成序列,一个从1开始增量为1且无 限上升
⚫ SELECT SEQ_QUANTITY.CURRVAL,SEQ_QUANTITY.NEXTVAL,SEQ_QUANTITY.CURRVAL;
⚫ 注意:上述结果的差异。

16.GUID

⚫ 定义:GUID()
⚫ 功能说明:生成一个唯一编码串(32个字符)
⚫ 返回值:返回一个唯一编码串。
⚫ 举例说明:
⚫ 获取一个唯一编码串。
⚫ SELECT GUID();
⚫ SELECT GUID(),GUID(),GUID();

17.获取数据库对象信息

⚫ SELECT * FROM SYS.SYSOBJECTS;
⚫ SELECT TYPE , S U B T Y P E ,SUBTYPE ,SUBTYPE,COUNT(*)
⚫ FROM SYS.SYSOBJECTS
⚫ GROUP BY TYPE , S U B T Y P E ,SUBTYPE ,SUBTYPE
⚫ ORDER BY 1,2;

更多资讯请上达梦技术社区了解: https://eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值