无人扶我青云志,我自踏雪至山巅。|

谢墨尘

园龄:11个月粉丝:4关注:0

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 中国大陆许可协议进行许可。

posted @   谢墨尘  阅读(964)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起