`

Oracle 数据库常用的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         主键,会为指定的字段作索引,并且也是唯一的值
--  NOT NULL            不可以是空值【'' 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 WHERE table_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 WHERE table_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 FROM User_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 FROM User_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 WHERE table_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);

/********************************************************************************************|
|             SQL语句5大类型                    |  命令     | 说明                           |
|********************************************************************************************|
| Data Retrieval数据检索                        | select    | 查询记录                       |
|********************************************************************************************|
| Date Manipulation Language【DML】数据操纵语言 | insert    | 添加记录                       |
|                                               | update    | 修改记录                       |
|                                               | delete    | 删除记录                       |
|********************************************************************************************|
| Data Definition Language【DDL】数据定义语言   | create    | 创建                           |
|                                               | alter     | 修改                           |
|                                               | drop      | 丢弃【删除】                   |
|                                               | rename    | 重命名                         |
|                                               | truncate  | 截断                           |
|********************************************************************************************|
| Transaction Control事务控制                   | commit    | 确认命令                       |
|                                               | rollback  | 回退至前一次确认的命令或保存点 |
|                                               | savepoint | 设置保存点                     |
|********************************************************************************************|
| Data Control Language【DCL】数据控制语言      | grant     | 授予权限                       |
|                                               | revoke    | 撤消权限                       |
|********************************************************************************************/


/*************************************|
|       系统权限       |     说明     |
|*************************************|
|   create session     |  连接数据库  |
|*************************************|
|   create table       |  创建表      |
|*************************************|
|   create sequence    |  创建序列    |
|*************************************|
|   create view        |  创建视图    |
|*************************************|
|   create proceduer   |  创建程序    |
|*************************************/


/*******************************************************************|
|      \  对象 |  表【table】 |  视图【view】 |  程序【procedure】  |
| 权限  \      |              |               |                     |
|*******************************************************************|
|    insert    |      Y       |       Y       |                     |
|*******************************************************************|
|    alter     |      Y       |               |                     |
|*******************************************************************|
|    update    |      Y       |       Y       |                     |
|*******************************************************************|
|    delete    |      Y       |       Y       |                     |
|*******************************************************************|
|    select    |      Y       |       Y       |                     |
|*******************************************************************|
|    index     |      Y       |               |                     |
|*******************************************************************|
|    execute   |              |               |          Y          |
|*******************************************************************/

-- 创建用户
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;


分享到:
评论

相关推荐

    Python项目-自动办公-59 PPT_pptx_在PPT中写入图片和表格.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    Python项目-实例-20 快递查询.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    杂货产品检测43-YOLO(v5至v9)、CreateML、Paligemma、TFRecord、VOC数据集合集.rar

    杂货产品检测43-YOLO(v5至v9)、CreateML、Paligemma、TFRecord、VOC数据集合集.rarIPCV分配-V6 2024-01-21 6:10 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括7012张图像。 家庭废物以createMl格式注释。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 没有应用图像增强技术。

    绝对给力的源码,在线音乐播放器完整项目.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    毕业设计-0-1背包问题动态规划模型Python代码.rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

    保质量的周期边界2dAllen-Cahn方程求解器:纯隐格式迭代解

    谁喜欢谁下载,没啥商业价值,comsol也能做,不过我这产量更大

    Python项目-游戏源码-10 植物大战僵尸.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    实现获取视频的缩略图(ThumbnailUtils),并且播放.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    推箱子Python小游戏

    推箱子Python小游戏

    基于ssm的新媒体视域下的中国古诗词展演源代码(java+vue+mysql+说明文档+LW).zip

    该新媒体视域下的中国古诗词展演主要为管理员和用户两类用户角色提供需求,管理员在后台可以对系统进行全面管理,用户在前台可以进行查看系统信息,注册登录,查询校园失物,评论,下载校园失物等操作。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7

    Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测(含完整的程序,GUI设计和代码详解)

    内容概要:本文介绍了使用MATLAB实现PSO-BiLSTM-Attention粒子群优化双向长短期记忆神经网络融合注意力机制的多特征分类预测模型。通过PSO优化BiLSTM模型的超参数、引入注意力机制增强模型的特征提取能力,提升了多维度数据的分类精度。模型在金融风险预测、医疗健康预测、交通流量预测等多个领域具有广泛的应用前景。项目详细描述了模型架构、代码实现、训练与优化、模型评估与可视化、以及GUI界面设计等方面的内容。 适合人群:具备一定编程基础,工作1-3年的数据科学家和机器学习工程师。 使用场景及目标:① 金融、医疗、交通等领域的多特征分类预测任务;② 结合PSO优化BiLSTM超参数、引入注意力机制,提升模型预测准确度。 阅读建议:本文详细讲解了模型的理论背景、算法实现和应用案例,适合希望深入理解深度学习和优化算法的读者。建议结合代码和实际数据进行实验,以便更好地掌握模型的设计和优化过程。

    Java项目-基于SSM的物资管理系统项目源码.zip

    Java项目-基于SSM的物资管理系统项目源码

    Video_2024-12-18_000023.wmv

    Video_2024-12-18_000023.wmv

    Python项目-自动办公-26 Python从原Excel表中抽出数据存入同一文件的新的Sheet.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    基于ssm的家居商城系统的设计与实现+jsp源代码(完整前后端+mysql+说明文档+LW).zip

    系统实现: 用户功能模块:用户点击进入到系统操作界面,可以对主页、个人中心、我的收藏管理、订单管理等功能模块,我的收藏管理:通过列表可以获取用户ID、收藏ID、表名、收藏名称、收藏图片信息并进行修改操作 管理员功能模块:管理员通过用户名和密码填写完成后进行登录。管理员登录成功后进入到系统操作界面,可以对主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理等功能模块进行相对应操作。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

    STM32F103单片机采集温湿度及SPI FLASH数据保存并通过BC260-NBIOT模块上传数据到华为云物联网平台代码

    1、嵌入式物联网单片机项目开发实战。例程经过精心编写,简单好用。 2、代码使用KEIL 标准库开发,当前在STM32F103运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。

    基于ssm的学习视频资源库的系统源代码(java+jsp+mysql+说明文档).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7

    Java项目-基于SSM的网上淘书吧.zip

    Java项目-基于SSM的网上淘书吧

    Oracle 19c 中的闪回技术详解及实战

    内容概要:本文详细介绍了 Oracle 19c 中的闪回技术,包括闪回查询、闪回事务查询、闪回丢弃、闪回表、闪回数据库和闪回归档。具体讲解了每种闪回技术的原理、配置方法、操作步骤和限制条件,并提供了具体的实例和 SQL 命令。目的是帮助数据库管理员和开发人员理解和掌握如何利用这些技术来提高数据恢复和错误修复的能力,减少数据库管理的复杂性和风险。 适合人群:Oracle 数据库管理员、数据库开发人员及维护人员。 使用场景及目标:① 使用闪回技术快速恢复因误操作或其他错误导致的数据丢失;② 配置闪回技术以实现高效的数据库恢复;③ 在日常运维中监控和管理闪回操作。 其他说明:本文不仅提供了理论上的解释,还包含了实际操作的示例,以便读者能够更好地理解和应用这些技术。

Global site tag (gtag.js) - Google Analytics