我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle必备语句

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle必备语句

Oracle_11g常用SQL语句(高级工程师必备)

Oracle_11g常用SQL语句(高级工程师必备)

  -- 退出 SQLPLUS
exit;

-- 修改 system(sys) 账号密码
SQLPLUS /NOLOG
CONN /AS SYSDBA
ALTER USER SYSTEM IDENTIFIED BY tarring;

-- 清除 SQLPLUS 屏幕
CLEAR SCREEN;
CL SCR;

-- 查看数据文件位置
SELECT NAME FROM v$datafile;

-- 查看控制文件位置
SELECT NAME FROM v$controlfile;

-- 查看日志文件位置
SELECT MEMBER FROM v$logfile;

-- 建立表空间
CREATE TABLESPACE ts01 
DATAFILE 'D:\DataBase\Oracle11g\oradata\orcl\test_db01.dbf'SIZE 100M
AUTOEXTEND ON NEXT 100M MAXSIZE 1024M
DEFAULT STORAGE(INITIAL 10m NEXT 1M)
PERMANENT
ONLINE
LOGGING;

-- 修改表空间
ALTER TABLESPACE ts01
NOLOGGING;

-- 表空间增加数据文件
ALTER TABLESPACE ts01 
ADD DATAFILE 'D:\DataBase\Oracle11g\oradata\orcl\test_db02.dbf'SIZE 100M REUSE
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

-- 删除表空间
DROP TABLESPACE ts01;

-- 删除表空间同时删除数据文件
DROP TABLESPACE ts01 INCLUDING CONTENTS AND DATAFILES;

-- 表空间中建表
CREATE TABLE student(
student_id VARCHAR2(10),
student_name VARCHAR2(20)
)TABLESPACE ts01;

-- 查看表所属表空间
SELECT TABLE_NAME, TABLESPACE_NAME FROM tabs WHERE TABLE_NAME = 'STUDENT';

-- 查看表结构
DESCRIBE student;
DESC student;

-- 增加表注释
COMMENT ON TABLE student IS '学生信息表';

-- 查看表注释
SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME = 'STUDENT';
SELECT * FROM ALL_TAB_COMMENTS WHERE TABLE_NAME = 'STUDENT';

-- 表字段增加注释
COMMENT ON COLUMN STUDENT.STUDENT_ID IS '学生编号';

-- 查看表字段注释
SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'STUDENT';
SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = 'STUDENT';

-- 查看用户所有表
SELECT * FROM User_Tables;

-- 查看用户拥有的所有对象
SELECT * FROM User_Objects;

-- 查看用户拥有的表试图序列
SELECT * FROM User_Catalog;

-- 表字段修改
ALTER TABLE student MODIFY(student_id CHAR(15));

-- 表字段增加
ALTER TABLE STUDENT ADD(AGE NUMBER(2));

-- 删除表字段
ALTER TABLE STUDENT DROP COLUMN student_name;

-- 修改表名称
RENAME STUDENT TO STU;

-- 删除表
DROP TABLE STUDENT;

CREATE TABLE student(
s_id Varchar2(10),
s_name varchar2(20),
s_age Number(3),
s_birthday DATE
)TABLESPACE ts01;

-- 增加一条记录
INSERT INTO
student (s_id, s_name, s_age, s_birthday) 
VALUES ('S000000001', 'Tarring01', 10, to_date('1982-10-06','yyyy-mm-dd'));

INSERT INTO
student (s_id, s_name, s_age, s_birthday) 
VALUES ('S000000002', 'Tarring02', 10, Sysdate);

-- 使用替代变量时,输入字符串字段时一样要写上引号
INSERT INTO
student (s_id, s_name, s_age, s_birthday) 
VALUES (&s_id, &s_name, 10, Sysdate);

-- 修改记录
UPDATE student SET s_name = '陶川', s_age= 20 WHERE s_id = 'S000000002';

-- 删除记录
DELETE FROM student WHERE s_id = 'S000000002';

-- 截断表
TRUNCATE TABLE student;

-- 事务处理
COMMIT; -- 提交事务
INSERT INTO student (s_id, s_name) VALUES ('S001', 'tarring1');
ROLLBACK; -- 回滚,回滚到上一次提交过后的点

-- 带恢复点的事务
COMMIT;
INSERT INTO student (s_id, s_name) VALUES ('S001', 'tarring1');
SAVEPOINT firstdate;
INSERT INTO student (s_id, s_name) VALUES ('S002', 'tarring2');
SAVEPOINT seconddate;
DELETE FROM student;
ROLLBACK TO firstdate;
SELECT * FROM student;

--  约束条件           说明
--------------------------------------------------------------------
-- UNIQUE             指定字段的值,必须是唯一的
--  PRIMARY KEY         主键,会为指定的字段作索引,并且也是唯一的值
--  NOTNULL            不可以是空值【'' NULL】或0(零)
-- CHECK              检查,必须符合指定的条件
--  FOREIGN KEY         外键,用来创建一个参考表之间的关系

-- 建表同时建立唯一约束
CREATE TABLE student(
s_id Varchar2(10),
s_name varchar2(20),
s_age Number(3),
s_birthday DATE,
CONSTRAINT s_name_uk UNIQUE(s_name)
)TABLESPACE ts01;

-- 查看唯一约束
SELECT table_name, constraint_name, constraint_type FROM User_Constraints WHEREtable_name = 'STUDENT';

-- 作业:数据字典【分类常用】

-- 建表同时建立主键
CREATE TABLE student(
s_id Varchar2(10),
s_name varchar2(20),
s_age Number(3),
s_birthday DATE,
CONSTRAINT s_id_pk PRIMARY KEY (s_id)
)TABLESPACE ts01;

-- 查看主键约束
SELECT table_name, constraint_name, constraint_type FROM User_Constraints WHEREtable_name = 'STUDENT';

-- 建表同时建立非空字段
CREATE TABLE student(
s_id Varchar2(10),
s_name varchar2(20) NOT NULL,
s_age Number(3),
s_birthday DATE,
CONSTRAINT s_id_pk PRIMARY KEY (s_id)
)TABLESPACE ts01;

INSERT INTO student (s_id, s_name) VALUES ('S001', NULL); -- 插入一个null

-- 查看非空约束
SELECT table_name, constraint_name, constraint_type, search_condition FROMUser_Constraints WHERE table_name = 'STUDENT';

-- 建表同时建立检查
CREATE TABLE student(
s_id Varchar2(10),
s_name varchar2(20),
s_age Number(3),
s_birthday DATE,
CONSTRAINT s_age_ck CHECK (s_age BETWEEN 1 AND 100) -- 端点值可以使用
)TABLESPACE ts01;

-- 查看检查约束
SELECT table_name, constraint_name, constraint_type, search_condition FROMUser_Constraints WHERE table_name = 'STUDENT';


-- 外键的使用
CREATE TABLE team(
t_id Varchar2(10),
t_name Varchar2(20),
CONSTRAINT t_id_pk PRIMARY KEY (t_id)
)TABLESPACE ts01;

CREATE TABLE student(
s_id Varchar2(10),
team_id VARCHAR2(10),
s_name varchar2(20),
CONSTRAINT s_id_pk PRIMARY KEY (s_id),
CONSTRAINT s_team_id_fk FOREIGN KEY (team_id) REFERENCES team(t_id)
)TABLESPACE ts01;

-- 查看表的外键约束
SELECT table_name, constraint_name, constraint_type FROM User_Constraints WHEREtable_name = 'STUDENT';

drop table team;  -- 被引用表是不能删除的

insert into team (t_id, t_name) values ('t001', 'lansene');
insert into student(s_id, s_name, team_id) values ('s001','tarring', 't001');
delete from team; -- 被引用的记录是不能删除的

-- 关闭一个约束
ALTER TABLE student DISABLE CONSTRAINT s_team_id_fk;

-- 启用一个约束
ALTER TABLE student ENABLE CONSTRAINT s_team_id_fk;

-- 删除一个约束
ALTER TABLE student DROP CONSTRAINT s_team_id_fk;

-- 已创建的表增加一个约束
ALTER TABLE student ADD CONSTRAINT s_team_id_fk FOREIGN KEY (team_id)REFERENCES team(t_id);









-- 创建用户
CREATE USER u01 IDENTIFIED BY p01;

-- 创建用户并制定默认表空间
CREATE USER u01 IDENTIFIED BY p01 DEFAULT TABLESPACE QUOTA 2M ON ts01; --quota 表空间中可使用的配额

-- 修改用户密码
ALTER USER u01 IDENTIFIED BY p001;

-- 修改用户表空间配额
ALTER USER u01 QUOTA 20M ON ts01;
ALTER USER u01 QUOTA UNLIMITED ON ts01; -- 用户对表空间没有配额限制

-- 回收unlimited tablespace权限
REVOKE UNLIMITED TABLESPACE FROM ts01; 

-- 删除用户
DROP USER u01;

-- 切换连接数据库的用户
CONNECT u01/p01;
conn u01/p01;

-- 授权用户连接数据库的权限
GRANT CREATE SESSION TO u01;

-- 授权用户创建序列(sequence)的权限
GRANT CREATE sequence TO u01;

-- 授权用户创建表的权限
GRANT CREATE TABLE TO u01;
--授权用户查表的权限
grant select on ts01.user1 to wangkai;
--授权用户修改表的权限
grant alter on user1 to  wangkai;
--授权用户删除表的权限(没有此权限)
grant drop on user1 to  wangkai;(错误)
--授权用户对一个表的所有权限
grant all on user1 to wangkai; 
--授权所有用户对一个表的所有权限
grant all on user1 to public;

-- 收回用户创建表的权限
REVOKE CREATE TABLE FROM u01;
-- 收回用户查表的权限
REVOKE select on user1 FROM u01;
-- 收回用户修改的权限
REVOKE select on user1 FROM u01;
-- 收回用户对一个表的所有权限
revoke all on user1 from wangkai;
--收回所有用户对一个表的所有权限
revoke all on user1 to public; 

-- 创建角色
CREATE ROLE r01;

-- 角色授权
GRANT CREATE SESSION, CREATE TABLE TO r01;

-- 收回角色权限
REVOKE CREATE TABLE FROM r01;

-- 查看角色权限
SELECT ROLE,PRIVILEGE FROM role_sys_privs WHERE ROLE='R01'

-- 角色赋给用户
GRANT r01 TO u01;

-- 查看当前用户角色
SELECT * FROM user_role_privs;

-- 删除角色
DROP ROLE r01;

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle必备语句

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql必背查询语句

mysql 查询必知:1. 查询所有数据:select * from table_name; 2. 查询特定列数据:select column1, column2, ... from table_name; 3. 条件查询:select .
mysql必背查询语句
2024-08-01

Go语言必备类库大揭秘:哪些是学习必备?

《Go语言必备类库大揭秘:哪些是学习必备?》Go语言是一门快速、高效、并发安全的静态编程语言,越来越受到开发者的青睐。作为一门相对年轻的语言,Go语言拥有丰富的类库来支持各种开发需求。本文将对一些Go语言中重要的类库进行介绍,并提供代码示
Go语言必备类库大揭秘:哪些是学习必备?
2024-03-01

oracle常用SQL语句

+ ",(select LISTAGG(mo.model_code,",") within group(order by mo.model_code) from srm_pos_resource_model mo where mo.supplier_id=t.
oracle常用SQL语句
2014-10-15

什么样的SQL语句可以用来准备语句?

实际上,不可能准备所有的 SQL 语句,因为 MySQL 只允许准备以下几种 SQL 语句:SELECT 语句示例mysql> PREPARE stmt FROM SELECT tender_value from Tender WHERE
2023-10-22

编程热搜

目录