达梦库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 … 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 是你要删除的序列的名称。