达梦库sql语法整理

客户端工具

可以支持同时连接mysql和dm,同时适配mac
https://www.sqlark.com/

将表dsbi_nreport_summary_COPY 进行备份

CREATE TABLE REPORTBBT.dsbi_nreport_summary_COPY_test1 AS
SELECT * FROM REPORTBBT.dsbi_nreport_summary_COPY

 

INSERT INTO b (id, name, age)
SELECT id, name, age
FROM a
WHERE age > 30

查询一个模式下面所有表的表名和数据量

select distinct * from (SELECT T.TABLE_NAME AS table_name,TABLE_ROWCOUNT(T.OWNER,T.TABLE_NAME) AS num,U.COMMENTS AS 注释
FROM ALL_TABLES T,ALL_TAB_COMMENTS U where T.TABLE_NAME =U.TABLE_NAME AND T.OWNER='REPORTBBT') where num>=1

建表标准语句

CREATE TABLE sjh_d_jxj.std_jxj_gasgyscysjcsj_orc(
nd string COMMENT '年度'
,yd string COMMENT '月度'
,yjzb string COMMENT '一级指标'
,ejzb string COMMENT '二级指标'
,sjzb string COMMENT '三级指标'
,sijzb string COMMENT '四级指标'
,dw string COMMENT '单位'
,dy string COMMENT '当月'
,tb string COMMENT '同比'
,dylj string COMMENT '当月累计'
,dyljtb string COMMENT '当月累计同比'
,sjzt_rksj date COMMENT '入库时间'
,sjzt_wyzj string COMMENT '唯一主键'
,sjzt_sjly string COMMENT '数据来源'
) comment '表名注释' CLUSTERED BY (nd) INTO 5 BUCKETS STORED AS ORC TBLPROPERTIES ("transactional"="true")

创建表create table … insert into …

CREATE TABLE "REPORTBBT"."ads_ggaq_everyday_20240816"
(
"report_empty_226_t2_t2_id" VARCHAR(50) NOT NULL,
"form_6" VARCHAR(100),
"report_empty_226_t2_id" VARCHAR(50),
"form_7" VARCHAR(100),
"subdistrict_text" VARCHAR(100),
"global_text" VARCHAR(100),
"subuser_text" VARCHAR(100),
"city_text" VARCHAR(100),
"province_text" VARCHAR(100),
"community_text" VARCHAR(100),
"isnew" VARCHAR(5),
"status_text" VARCHAR(40),
"region_text" VARCHAR(100),
"mainuser_text" VARCHAR(100),
"report_empty_226_id" VARCHAR(36) DEFAULT '6e723aa5899e4100b0a352792481d841',
"ds_update_user_id" VARCHAR(36) DEFAULT '5d1712fee81f4efdbb2ef16fd49f51ac',
"ds_dept_id" VARCHAR(200) DEFAULT 'f3165618ce064f00ab700e8e8092dba7',
"ds_create_user_name" VARCHAR(50) DEFAULT '吕老师',
"ds_create_user_id" VARCHAR(36) DEFAULT '5d1712fee81f4efdbb2ef16fd49f51ac',
"ds_update_user_name" VARCHAR(50) DEFAULT '吕老师',
"ds_deleted" VARCHAR(2) DEFAULT '0',
"ds_order" DEC(18,0) DEFAULT 0,
"ds_unit_id" VARCHAR(500) DEFAULT '756136a050e411eca1ae000c297b02ca',
"ds_create_time" TIMESTAMP(0),
"ds_update_time" TIMESTAMP(0),
"audit_state" TEXT,
"subuser_value" VARCHAR(100),
"region_value" VARCHAR(100),
"community_value" VARCHAR(100),
"subdistrict_value" VARCHAR(100),
"global_value" VARCHAR(100),
"city_value" VARCHAR(100),
"dt_value" VARCHAR(20),
"mainuser_value" VARCHAR(100),
"dt_text" VARCHAR(40),
"status_value" VARCHAR(20),
"province_value" VARCHAR(100),
NOT CLUSTER PRIMARY KEY("report_empty_226_t2_t2_id")) STORAGE(ON "REPORTBBT", CLUSTERBTR) ;
INSERT INTO "REPORTBBT"."ads_ggaq_everyday_20240816" SELECT * FROM "REPORTBBT"."report_empty_226_t2_t2";

查询所有表(针对当前用户)

SELECT table_name
FROM user_tables;

查询所有表(针对所有用户)

SELECT owner, table_name
FROM all_tables;

查询所有表(包括系统表)

如果您有足够的权限并且需要查看所有表(包括系统表),您可以尝试以下查询:

SELECT owner, table_name
FROM dba_tables;

user_tables 视图列出了当前用户拥有的所有表。
all_tables 视图列出了当前用户有权限访问的所有表。
dba_tables 视图列出了数据库中的所有表(需要DBA权限)。

修改字段

ALTER TABLE shared_cypt.ads_bbt_dsjzx_dzzwwwyhqk RENAME COLUMN form_6 TO nd;
comment on column shared_cypt.ads_bbt_dsjzx_dzzwwwyhqk.nd is '年度';

修改表名注释

ALTER TABLE sjh_d_tjj.std_tjj_tjnj_shsy_orc SET TBLPROPERTIES('comment' = '市统计局_统计年鉴_社会事业');

新增字段

ALTER TABLE shared_cypt.ads_bbt_dsjzx_dzzwwwyhqk ADD mainuser_text text;
comment on column shared_cypt.ads_bbt_dsjzx_dzzwwwyhqk.mainuser_text is '网格员';

查询数据库情况

select '实例名称' 数据库选项,INSTANCE_NAME 数据库集群相关参数值 FROM v$instance
union all
select '数据库版本',substr(svr_version,instr(svr_version,'(')) FROM v$instance
union all
SELECT '字符集',
CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GB18030' WHEN '1' then 'UTF-8' when '2' then 'EUC-KR' end
union all
SELECT '页大小',cast(PAGE()/1024 as varchar)
union all
SELECT '簇大小',cast(SF_GET_EXTENT_SIZE() as varchar)
union all
SELECT '大小写敏感',
CASE cast(SF_GET_CASE_SENSITIVE_FLAG() as varchar) WHEN 1 THEN '是' ELSE '否' END
union all
SELECT '长度已字符为单位',CASE PARA_VALUE WHEN 1 THEN '是' ELSE '否' END FROM V$DM_INI WHERE PARA_NAME ='LENGTH_IN_CHAR'
UNION ALL
select '数据库模式',MODE$ from v$instance
union all
select '数据库兼容模式',CASE PARA_VALUE WHEN 0 THEN 'DM' WHEN 1 THEN 'SQL92' WHEN 2 THEN 'ORACLE'WHEN 3 THEN 'MSSQLSERVER'
WHEN 4 THEN 'MYSQL' WHEN 5 THEN 'DM6' WHEN 6 THEN 'TERADATA' WHEN 7 THEN 'POSTGRES'END
from v$dm_ini where para_name='COMPATIBLE_MODE'
union all
select '唯一魔数',cast(permanent_magic as varchar)
union all
select 'LSN',cast(cur_lsn as varchar) from v$rlog;

达梦数据库(DM Database)中,删除视图、存储过程和函数的操作与其他关系型数据库系统类似,使用 DROP 语句进行删除。下面是具体的操作方法:

1. 删除视图 (DROP VIEW)

如果你想删除一个视图,使用 DROP VIEW 语句:

DROP VIEW view_name;

其中,view_name 是你要删除的视图名称。

2. 删除存储过程 (DROP PROCEDURE)

如果你想删除一个存储过程,使用 DROP PROCEDURE 语句:

DROP PROCEDURE procedure_name;

其中,procedure_name 是你要删除的存储过程名称。

3. 删除函数 (DROP FUNCTION)

如果你想删除一个函数,使用 DROP FUNCTION 语句:

DROP FUNCTION function_name;

其中,function_name 是你要删除的函数名称。

4. 删除序列 (DROP SEQUENCE)

DROP SEQUENCE sequence_name;

其中,sequence_name 是你要删除的序列的名称。

阅读剩余
THE END