达梦数据库基本概念和常见sql
/*创建表空间
CREATE TABLESPACE DJL DATAFILE 'DJL.DBF'
SIZE 256 AUTOEXTEND ON NEXT 5 MAXSIZE 1024;
/*删除表空间*/
/*DROP TABLESPACE DJL;*/
/*查询表空间,用于从数据库中获取所有表空间(tablespace)的相关信息
select * from dba_tablespaces;*/
1.表空间
表空间是存放数据库文件的“仓库”或“硬盘分区”。
它就像一个文件夹,里面用来存储数据库的各种数据(比如表的数据、索引、日志等)。数据库里的表和索引都是按表空间来分配存储位置的。
如果数据库是一栋房子,表空间就是房间,你可以把数据放在不同的房间里。
创建表空间:
CREATE TABLESPACE DJL DATAFILE 'DJL.DBF'
SIZE 256 AUTOEXTEND ON NEXT 5 MAXSIZE 1024;
# CREATE TABLESPACE DJL 表示创建表空间DJL
# DATAFILE 'DJL.DBF' 指定表空间的数据⽂件,可以有多个
# SIZE 256 指定数据⽂件的⼤⼩,这⾥是256M
# AUTOEXTEND ON 指定是否开启数据⽂件⾃动扩展,ON表示开启,OFF表示关闭
# NEXT 5 指定数据⽂件扩展⼀次的容量是多⼤,这⾥是每次扩展5M
# MAXSIZE 1024 指定数据⽂件最多只能扩展到1024M,不能超过1024M
删除表空间:
DROP TABLESPACE DJL;
查询所有表空间:
select * from dba_tablespaces;
2.模式
模式和用户是绑定的,一个用户对应一个模式,模式的名字与用户的名字相同。
模式就是用户名下的“私人工作区”。
一个用户(User)创建的所有表、视图、存储过程等,都属于这个用户的模式。每个用户都有一个独立的模式,它是用户存放自己数据和对象的“文件夹”。
打个比方:
- 假如用户是个人账户,模式就是属于你的文件夹。
- 比如:
用户 张三 登录达梦数据库后,张三创建的表、视图都在他的“张三模式”里,别人不能随便访问,除非张三授权。
如果李四想访问张三的表,需要用张三.表名
的方式来访问。
创建模式:
CREATE SCHEMA APP;
# APP 模式名
删除模式:
DROP SCHEMA APP;
切换模式:
SET SCHEMA APP; # 切换到APP模式
查看当前模式:
select sys_context('USERENV','CURRENT_SCHEMA');
3.角色
角色就像一个职位,比如“经理”、“普通员工”。
经理有管理权限,员工只能操作自己的数据。你只需要告诉数据库“张三是经理”,就自动给张三赋予了经理的权限。
常见角色:
CONNECT
:让用户能登录数据库。RESOURCE
:让用户能创建表、视图等对象。DBA
:管理员,拥有所有权限。
创建⻆⾊:
CREATE ROLE DJLDBA;
删除⻆⾊:
DROP ROLE DJLDBA;
查看⻆⾊:
#查看所有⻆⾊
SELECT * FROM DBA_ROLES;
#查看指定⽤户的⻆⾊
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USERNAME';
4.用户
用户就是数据库的登录账号,类似你登录某个系统的用户名。
一个用户可以创建自己的数据(比如表、视图等),也可以通过分配的权限访问别人创建的数据。
系统⾃动创建的三个系统⽤户:
SYSDBA(系统管理员):拥有管理数据库的最⾼权限。他负责管理各种数据库对
象,如⽤户、⻆⾊、表、视图、存储过程等的创建、修改和删除。
SYSAUDITOR(审计管理员):拥有审计相关的默认权限。他负责开启和关闭审计功
能,对指定的主体或客体启⽤/禁⽤指定类型的审计,查询和管理审计结果,以及管理审
计相关权限。
SYSSSO(安全管理员):主要负责与安全性相关的操作。他拥有创建加密机、对主
体或客体定义/应⽤/删除安全策略、制定⿊⽩名单规则以及管理安全相关权限等职责。
创建用户:
CREATE USER username IDENTIFIED BY 'password';
#创建⽤户并指定模式
CREATE USER username IDENTIFIED BY 'password' DEFAULT SCHEMA schema_
name;
删除用户:
DROP USER username;
#若⽤户存在数据对象,则不能删除。
修改用户:
ALTER USER username IDENTIFIED BY 'new_password';
查看用户:
#查询所有⽤户
select * from dba_users;
#查看当前⽤户
SELECT user FROM DUAL;
5.表:
创建表:
CREATE TABLE 模式名.表名 (
id INT PRIMARY KEY,
name VARCHAR(100),
sex VARCHAR(10)
);
删除表:
DROP TABLE 模式名.表名;
插⼊数据:
INSERT INTO 模式名.表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
删除数据:
DELETE FROM 模式名.表名 [WHERE 条件];
清空数据:
TRUNCATE TABLE 模式名.表名;
查询数据:
SELECT column1, column2, ...
FROM 模式名.表名
[WHERE 条件]
[GROUP BY 列名]
[ORDER BY 列名 [ASC|DESC]]
[HAVING 条件];
6.视图
创建视图:
CREATE VIEW 模式名.视图名 AS
SELECT id, name, department FROM 模式.表名;
删除视图:
DROP VIEW 模式名.视图名;
查询视图:
SELECT * FROM USER_VIEWS;
7.创建索引:
创建索引
# 单列索引
CREATE INDEX 索引名 ON 表名(列名);
# 复合索引
CREATE INDEX 索引名 ON 表名(列名1, 列名2, ...);
# 唯⼀索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);
删除索引
DROP INDEX 索引名;
8.DM常⻅的查询语句:
# 查看当前的数据库
select name from V$database;
# 查看当前的实例名
select instance_name from v$instance;
# 查看当前数据库的状态
select status$ from v$instance;
# 查看数据库所有的数据⽂件
select path from v$datafile;
9.赋予和收回权限:
GRANT 权限 TO ⽤户或⻆⾊;
REVOKE 权限 FROM ⽤户或⻆⾊;
原文地址:https://blog.csdn.net/qq_62859013/article/details/144114786
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!