DM(达梦数据库基本操作)
1、创建用户 XTF 密码为 XTF123321
SQL> CREATE USER XTF IDENTIFIED BY "XTF123321";
2、权限
(1)--给用户建表权限
SQL> GRANT CREATE TABLE to XTF;
总共1个语句正依次执行...
[执行语句1]:
GRANT CREATE TABLE to XTF;
执行成功, 执行耗时7毫秒. 执行号:10322
影响了0条记录
1条语句执行成功
(2)--给用户SELECT权限
SQL> GRANT SELECT ANY TABLE TO XTF;
(3)--查询用户的系统权限
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'XTF';
CREATE TABLE: 允许用户创建新表
SELECT ANY TABLE: 允许用户从任何表中选择数据
CREATE SESSION: 允许用户登录到数据库。
(4)-- 查询用户的表权限
SQL> SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'XTF';
- GRANTEE: 被授予权限的用户,这里是
XTF
。- OWNER: 表的所有者。
- TABLE_NAME: 表的名称。
- GRANTOR: 授予权限的用户。
- PRIVILEGE: 具体的权限类型(如 SELECT、INSERT、UPDATE 等)。
- GRANTABLE: 表示该权限是否可以被授予给其他用户(通常为 YES 或 NO)。
- HIERARCHY: 表示权限的层级关系。
3、建表
SQL> CREATE TABLE XTF.DDL_TAB ("COL_A" VARCHAR2(100), "COL_B" CHAR(100), "COL_C" NUMBER(*,0));
总共1个语句正依次执行...
[执行语句1]:
CREATE TABLE XTF.DDL_TAB ("COL_A" VARCHAR2(100), "COL_B" CHAR(100), "COL_C" NUMBER(*,0));
执行成功, 执行耗时82毫秒. 执行号:10604
影响了0条记录
1条语句执行成功
4、删表
SQL> DROP table IF EXISTS DDL_TAB;
总共1个语句正依次执行...
[执行语句1]:
DROP table IF EXISTS DDL_TAB;
执行成功, 执行耗时254毫秒. 执行号:10603
影响了0条记录
1条语句执行成功
5、DDL
DROP table IF EXISTS DDL_TAB;
CREATE TABLE XTF.DDL_TAB ("COL_A" VARCHAR2(100), "COL_B" CHAR(100), "COL_C" NUMBER(*,0));
INSERT INTO XTF.DDL_TAB (COL_A, COL_B, COL_C) VALUES('初始表插入记录aaa', '测试AAAAAAAAA', -11120);
ALTER TABLE XTF.DDL_TAB MODIFY COL_B CHAR(200);
INSERT INTO XTF.DDL_TAB (COL_A, COL_B, COL_C) VALUES('第二个列加长了bbb', '测试BBBBBBBBB', 999911120);
ALTER TABLE XTF.DDL_TAB ADD COL_D FLOAT;
INSERT INTO XTF.DDL_TAB (COL_A, COL_B, COL_C, COL_D) VALUES('增加了一个列ccc', '测试CCCCCCCCC', 999911120, 1234561.12345);
ALTER TABLE XTF.DDL_TAB DROP COLUMN COL_B;
INSERT INTO XTF.DDL_TAB (COL_A, COL_C, COL_D) VALUES('删除了第二个列ddd', 987654321, 123456.78901);
ALTER TABLE XTF.DDL_TAB DROP COLUMN COL_C;
INSERT INTO XTF.DDL_TAB (COL_A, COL_D) VALUES('删除了第三个列eee', 123456.78901);
ALTER TABLE XTF.DDL_TAB rename to DDL_TAB_RENAME;
INSERT INTO XTF.DDL_TAB_RENAME (COL_A, COL_D) VALUES('修改了表名fff', 456.901);
truncate TABLE XTF.DDL_TAB_RENAME ;
6、DML
查看表内容
SQL> SELECT * FROM NEWTABLE;
总共1个语句正依次执行...
[执行语句1]:
SELECT * FROM NEWTABLE;
执行成功, 执行耗时1毫秒. 执行号:10625
1条语句执行成功
NEWTABLE
SQL> CREATE TABLE XTF.NEWTABLE (
ID NUMBER PRIMARY KEY,
person_name VARCHAR2(100),
age NUMBER,
height NUMBER,
gender CHAR(1),
score NUMBER(5,1),
address VARCHAR2(100),
country VARCHAR2(100),
city VARCHAR2(100),
email VARCHAR2(100),
animal_name VARCHAR2(100),
title VARCHAR2(100),
author VARCHAR2(100),
website VARCHAR2(100),
university VARCHAR2(100),
create_time TIMESTAMP,
update_time TIMESTAMP
);
SQL> CREATE SEQUENCE SEQ01;
SQL> INSERT INTO XTF.NEWTABLE (ID, person_name, age, height, gender, score, address, country, city, email, animal_name, title, author, website, university, create_time, update_time)
VALUES (seq01.NEXTVAL, 'person_name-1234567', 45, 176, 'F', 456.0, 'address-234', 'country-567', 'city-890', 'email-123', 'animal_name-456', 'title-789', 'author-234', 'website-567', 'university-890', SYSTIMESTAMP, SYSTIMESTAMP);
--插入10w条--
DECLARE
counter NUMBER := 1;
BEGIN
WHILE counter <= 100 LOOP
INSERT INTO XTF.XTF_TEST(COL1, COL2) VALUES ('XXX哈哈', 123);
counter := counter + 1;
END LOOP;
END;
--删除10w条--
DECLARE
counter NUMBER := 1;
BEGIN
WHILE counter <= 100000 LOOP
DELETE FROM XTF_TEST WHERE COL1 = 'XXX哈哈' AND COL2 = 123;
counter := counter + 1;
END LOOP;
END;
---查看表内容
SELECT * FROM XTF_TEST;
切归档
alter system switch LOGFILE;
本文作者:谢墨尘
本文链接:https://www.cnblogs.com/xietingfeng321/p/18427148
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步