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毫秒. 执行号:106251条语句执行成功
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条--
DECLAREcounter NUMBER := 1;
BEGINWHILE counter <= 100 LOOPINSERT INTO XTF.XTF_TEST(COL1, COL2) VALUES ('XXX哈哈', 123);counter := counter + 1;END LOOP;
END;
--删除10w条--
DECLAREcounter NUMBER := 1;
BEGINWHILE counter <= 100000 LOOPDELETE FROM XTF_TEST WHERE COL1 = 'XXX哈哈' AND COL2 = 123;counter := counter + 1;END LOOP;
END;---查看表内容
SELECT * FROM XTF_TEST;
切归档
alter system switch LOGFILE;