达梦数据的一些基本语法
提示:这里简述项目相关背景:
这是本人学习达梦数据库的一些基本语法,用来备忘
问题描述:
提示:本人不太会使用博客,文章所作不周之处,多多包涵:
本文是在学习达梦数据库中的一些知识点,基础语法的总结,用于备忘
用户:
- 用户(user):用来连接数据库访问数据库
– 模式(schema):模式对象是数据库数据的逻辑结构
– 关系:模式跟用户在oracle 是一对一的关系, 一个用户可以对应多个模式,dm也是一对多
–模式规则
– 在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同
– 新建表时候,可以指定表空间。如果不指定,则默认保存到MAIN
– 用户可以直接访问其他模式对象,但如果要要访问其他模式对象,则必须具有对象权限
– 当用户要访问其他模式对象时,必须附加模式名作后缀(schema.table)
– 数据大小
– 数据库占用空间(kb为单位)
SELECT SUM(bytes) from dba_data_files;
– 数据库读写占用
SELECT * from v$datafile;
- 表大小,大小写敏感
SELECT TABLE_USED_SPACE('SYSDBA', 'D') * 1024;
----------------------------------------------------- 表属性相关操作 ------------------------------------------------------
– 建表语句
create table tests ( id char not null primary key) ;
– 获取表字段
select * from user_tab_columns where Table_Name='test';
select * from user_tab_columns where Table_Name='test_table';
– 表重命名
alter table test rename to test_table
– 查询表注释
select comments from user_tab_comments where table_name = 'test_table'
- 修改表注释
comment on table test_table is '测试';
----------------------------------------------------- 列属性相关操作 -------------------------------------------------------
– 增加列
alter table test_table add ids int
– 增加一列不为空
alter table test_table add id_notnull int not null
– 类型int 小于9999 主键
alter table test_table add id_int int not null primary key check(id_int < 9999)
– 类型 varchar2 长度 2
alter table test_table add id_varchar2 varchar(2)
– 删除列,列名:ids
alter table test_table drop ids
– 修改列名
ALTER TABLE 表名 RENAME COLUMN 以后列名 TO 新列名;
alter table test_table rename column idss to ids
– 查询列注释
select * from user_col_comments where owner = 'zfgxpt' and table_name = 'test_table' and column_name = 'id'
– 修改列注释
comment on column test_table.id is '主键';
----------------------------------------------------- 列数据相关操作 -------------------------------------------------------
– 查询数据
select * from test_table;
select * from test_table where id like 'id%';
– 插入一条数据
insert into test_table (id,id_notnull,id_int,id_varchar2,ids) values ('id1',1,2,'idvarchar2',3);
- 更新
update test_table set id = '123';
心得体会:
达梦数据库与mysql的区别
达梦数据库安装成功后会自带数据库管理,迁移等工具,不用像MySQL一样需自己下载navicat等工具,这点还是挺好的。
达梦数据库与MySQL给我印象最深的一点就是达梦数据库会频繁的使用模式这个东西,我在大学学习的时候开篇就介绍了数据库模式,但是使用到MySQL后基本就不使用模式了,就是直接新建数据库后使用表就行了,但是达梦数据库会频繁的使用模式。
MySQL中新建的数据库对应的就是达梦数据库中的模式,MySQL是在建了数据库后再新建表,而达梦是新建了模式名后在模式名下面建表。
下面是达梦数据库和MySQL的sql语句一些不同的地方:
(1)sql语句中有用到表名的地方,前面需要加上模式名,格式为模式名.表名。
(2)达梦数据库使用的sql语句模式名,表明,字段名等必须加双引号,字段值加单引号。
达梦的迁移工具也挺好使用的,可以支持Oracle,MySQL,SQLServer等数据库与达梦数据库之间的迁移,达梦数据库与Excel,txt,XML,SQL等文件之间的迁移,迁移时需注意请勿使用多线程的方式,否则会出现不可预知的错误!