oracle--第一天PLSQL--bai

第一天:
-- 创建book表
create table book
(
bid number primary key,
bname varchar2(20) not null,
price number(10,2) not null
)
-- 插入数据
insert into book(bid,bname,price)values('20','西游记','170.5');
insert into book(bid,bname,price)values('12','红楼梦','190.5');
insert into book(bid,bname,price)values('22','三国演义','150.5');
insert into book(bid,bname,price)values('32','梅','140.5');
--查询
select * from book;
--清空表
delete from book;--删除数据
truncate table book;---删除数据,含日志
--查询所有的逻辑对象。所有。 前缀dba_   system用  
select count(1) from dba_objects;--查询所有的逻辑对象。所有。
select * from dba_users;--查看所有的用户
select * from dba_tables;--查询所有的表· 前缀all_
--查询所有的逻辑对象.本用户权限范围下的能看的所有。
select count(1) from all_objects;--查询所有的逻辑对象。所有。
select * from all_users; --查看权限下能看到的所有用户
select * from all_tables; --查询所有的表·
--查询本用户私有的逻辑对象
select * from user_objects;
select * from user_users; --查看本用户。
select * from user_tables;--查看本用户的所有私有表select * from v$instance;--oracle实例的情况
select * from v$session; --oracle所有连接的情况-- 使用system的normal对soctt用户进行解锁alter user scott account unlock;-- 使用system的normal对soctt用户进行密码解锁alter user scott identified by orcl;-- 创建1个用户
create user bai  identified by orcl; --创建用户bai,指定密码为orcl。
--默认的表空间是users,默认的临时表空间是temp;grant connect,resource to bai;-- 将连接及创建对象权限交给baidrop user bai cascade;  -- 删除用户bai第二天:
---创建用户java2
create user java2 identified by orcl;
grant connect,resource to java2;
--java2登录后,建表并插入数据
create table student1(sid number primary key ,  sname varchar2(20) not null,sex varchar2(20) not null,age number not null check(age>=0 and age<=120))insert into student1 values('11','白','男','18');insert into student1 values('21','白2','男','18');insert into student1 values('31','白3','男','18');
---创建用户java3
create user java3 identified by orcl;
grant connect,resource to java3;--将student1表的查询及修改及删除权限授予java3
grant select,update,delete on student1 to java3;
--授权后,java3就能执行成功   --无法插入(无此权限)
select * from java2.student1;
delete from java2.student1 where sid='31';
insert into java2.student1 values('34','黑','女','90');--无法插入(无此权限){用户角色权限}:
-- 查看当前用户的所有角色
select * from user_role_privs;
--查看用户的表对象权限
select * from user_tab_privs;
--查看用户的系统权限
select * from user_sys_privs;
--查看指定角色的权限
select * from role_sys_privs;
--使用system登录,将创建视图的权限授予java2
grant create view to java2;
--使用java2登录后,可以创建视图
create view j2_view2 as
select * from java2.student1;
--让1个角色拥有其他多个角色的功能总和
create role myrole;
--让myrole继承于connect角色的权限
grant connect to myrole;
grant resource to myrole-- 10g里面,resource是无法继承的。
--查看角色所继承的角色
select * from role_role_privs where role='MYROLE';
--使用system登录,从java2回收创建视图的权限revoke create view from java2;{常用逻辑对象}:{表空间}:
--创建表空间
create tablespace bai_ts2 datafile 'E:\1.dbf' size 6M;
--创建用户,绑定表空间
create user java_bai2 identified by orcl
default tablespace bai_ts2;
--修改指定用户的默认表空间
alter user java_bai2
default tablespace bai_ts2;grant connect,resource to java_bai2;
select * from dba_users where username='JAVA_BAI2';--扩容
alter tablespace bai_ts2
add datafile 'E:\2.dbf' size 50M;--删除表空间
drop tablespace bai_ts2 including contents;{视图}:
--视图的创建查询员工编号、员工名及所在部门的名称create or replace  view  emp_basic_info_view asselect  scott.emp.empno as 员工编号,scott.emp.ename as 员工名,scott.dept.dname as 部门名  from scott.emp ,scott.dept where scott.emp.deptno = scott.dept.deptno--查询视图select * from emp_basic_info_viewdelete from system.emp_basic_info_view where 员工编号='7369';--创建一个学生信息(INFOS)表和约束
CREATE TABLE INFOS
(
STUID VARCHAR2(7) NOT NULL,    --学号 学号=‘S’+班号+2位序号
STUNAME VARCHAR2(10) NOT NULL,  --姓名
GENDER VARCHAR2(2) NOT NULL,    --性别
AGE NUMBER(2) NOT NULL,        --年龄
SEAT NUMBER(2) NOT NULL,        --座号
ENROLLDATE DATE,      --入学时间
STUADDRESS VARCHAR2(50) DEFAULT '地址不详',      --住址
CLASSNO VARCHAR2(4) NOT NULL    --班号 班号=学期序号+班级序号
)
ALTER TABLE INFOS ADD CONSTRAINT PK_INFOS PRIMARY KEY(STUID);--创建一个主键约束
ALTER TABLE INFOS ADD CONSTRAINTS UN_STUNAME UNIQUE(STUNAME);--创建唯一约束
--创建各种check约束
ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_GENDER CHECK(GENDER = '男' OR GENDER = '女');
ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_SEAT CHECK(SEAT >=0 AND SEAT <=50);
ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_AGE CHECK(AGE >=0 AND AGE<=100);
ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_CLASSNO CHECK((CLASSNO >='1001' AND CLASSNO<='1999') OR   (CLASSNO >='2001' AND CLASSNO<='2999'));--创建一个成绩表(SCORES)表和约束
CREATE TABLE SCORES 
(
ID NUMBER ,        --ID   SQL Server中可以使用identify创建自动增长列,但是Oracle中的自动增长需要借助 序列(Sequence)完成
TERM VARCHAR2(2),         --学期 S1或S2
STUID VARCHAR2(7) NOT NULL,   --学号
EXAMNO VARCHAR2(7) NOT NULL,     --考号 E+班号+序号
WRITTENSCORE NUMBER(4,1) NOT NULL, --笔试成绩
LABSCORE NUMBER(4,1) NOT NULL   --机试成绩
)
ALTER TABLE SCORES ADD CONSTRAINT CK_SCORES_TERM CHECK(TERM = 'S1' OR TERM ='S2');
ALTER TABLE SCORES ADD CONSTRAINT FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID);--Oracle中的外键约束定义

  

转载于:https://www.cnblogs.com/ipetergo/p/6257567.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql性能优化的8个方法_关键的十个MySQL性能优化技巧

与所有的关系型数据库一样&#xff0c;Mysql仿佛是一头让人难以琢磨的怪兽。它会随时停摆&#xff0c;让应用限于停滞&#xff0c;或者让你的业务处于危险之中。事实上&#xff0c;许多最常见的错误都隐藏在MySQL性能问题的背后。为了确保你的MySQL服务器能够一直处于全速运行的…

修改自己的centos输入法

当自己的centos连上网时&#xff0c;就可以修改自己的输入法了 http://jingyan.baidu.com/album/da1091fb3e7f8a027849d681.html?picindex2 转载于:https://www.cnblogs.com/xiaoyoucai/p/6262054.html

new float查询长度 c++_C/C++经典面试题

面试题 1&#xff1a;变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义&#xff0c;不分配地址的称为声明。一个变量可以在多个地方声明&#xff0c; 但是只在一个地方定义。加入 extern 修饰的是变量的声明&#xff0c;说明此变量将在文件以外或在文件后面部分…

git相关资料

https://github.com/xirong/my-git 转载于:https://www.cnblogs.com/zhao1949/p/6265503.html

mysql动态变量查询_MySQL将变量传递给动态查询

对不起&#xff0c;如果这是一个基本问题&#xff01; 直至现在我已经创造了PHP的MySQL查询和跨变量传递SQL调用中是这样的&#xff1a;MySQL将变量传递给动态查询$myparam $_GET["id_tbl"];mysql_select_db($database_camerich, $camerich);$query_rs_table sprin…

java8--IO(java疯狂讲义3复习笔记)

产生文件 File file new File("abc.txt");if(!file.exists()){System.out.println(file.exists());file.createNewFile();}System.out.println(file.getAbsolutePath()); 关于临时文件 1).放在指定目录,此时已项目为默认目录 File file File.createTempFile("…

python网络平台_python学习(九) 网络编程学习--简易网站服务器

python 网络编程和其他语言都是一样的&#xff0c;服务器这块步骤为&#xff1a;1. 创建套接字2. 绑定地址3. 监听该描述符的所有请求4. 有新的请求到了调用accept处理请求Python Web服务器网关接口(Python Web Server Gateway Interface&#xff0c;简称“WSGI”)&#xff0c;…

LeetCode 451. Sort Characters By Frequency

Mediocre solution is O(nlgn) by using max-heap - but, remember bucket sort? it is O(n)转载于:https://www.cnblogs.com/tonix/p/6269000.html

rabbit和mysql事务_分布式事务原理及SpringBoot整合RabbitMQ实现可靠事件,TCC事务模型及接口幂等性...

分布式事务我们知道在单数据库系统中&#xff0c;实现数据的一致性&#xff0c;通过数据库的事务来处理比较简单。在微服务或分布式系统中&#xff0c;各个独立的服务都会有自己的数据库&#xff0c;而不是在同一个数据库中&#xff0c;所以当一组事务(如商品交易中&#xff0c…

rhel Linux 网络配置

--网络配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 1)DHCPDEVICEeth0BOOTPROTOdhcpONBOOTyes2)静态IP DEVICEeth0 BOOTPROTOnone IPADDR192.168.0.22 NETMASK255.255.255.0GATEWAY192.168.0.254DNS11…

如何下载php-5.5.38.tar.gz_搭建PHP服务器php-5.3.28.tar.gz

构建PHP运行环境PHP所用的软件 &#xff1a;php-5.3.28.tar.gz优化模块 &#xff1a;ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz(两者之间版本一样)准备工作&#xff1a;卸载RPM安装的PHP[rootlocalhost php]# rpm -e php php-cli php-ldap php-common php-mysql --…

004-全局应用程序类Global.asax

服务器对象&#xff1a;Request、Response、Server、Session、Application、Cookie //功能1&#xff1a;为服务器对象注册Start、End处理 protected void Application_Start(object sender, EventArgs e){} protected void Application_End(object sender, EventArgs e){} 管道…

mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

mysql 创建表时 日期字段默认值为当前时间mysql version 5.1在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候&#xff0c;就如sqlserver2000一样&#xff0c;把默认值设为getdate()即可&#xff0c;我在网上查了N久都没有查到使用有效的方法&#xf…

Android onKeyDown、onKeyUp、dispatchKeyEvent的区别

1. onKeyDown、onKeyUp、dispatchKeyEvent的区别和使用场景 区别&#xff1a;   1.1 onKeyDown、onKeyUp是按键事件的回调接口&#xff08;冒泡式调用&#xff09;&#xff0c;dispatchKeyEvent是按键分发&#xff08;隧道式分发&#xff09; 1.2 onKeyDown接口的回调只…

python pandas 数据库_Python中pandas函数操作数据库

一&#xff1a;创建链接数据库引擎Pythonfrom sqlalchemy import create_engineengine create_engine(postgresql://user58.251.157.179:port/database,echo True)echo True &#xff0c;会显示在加载数据库所执行的SQL语句。12345fromsqlalchemyimportcreate_engineenginecr…

策略模式,工厂模式,单例模式编写身份证的验证算法

策略模式&#xff1a;它定义算法家族&#xff0c;分别封装起来&#xff0c;让他们之间互相替换&#xff0c;此模式让算法的变化&#xff0c;不会影响使用算法的客户。 1 /// <summary>2 /// 策略模式3 /// </summary>4 public interface IidCheck5 …

mysql引擎模式_mysql引擎,完整的见表语句,数据库模式, 常用数据类型,约束条件...

引擎show engines : 查看引擎innodb(默认引擎)&#xff1a;支持事务&#xff0c;行级锁&#xff0c;外键myisam:查询效率由于innodb,不需要支持事务&#xff0c;行级锁&#xff0c;外键&#xff0c;可以选用myisam来优化数据库mysql> create table t1(id int)engineinnodb;m…

testng连接MySQL_Selenium+TestNG实战-8-连接数据库方法去验证文章是否发布

原标题&#xff1a;SeleniumTestNG实战-8-连接数据库方法去验证文章是否发布记得之前群里&#xff0c;有人说举例一下连接数据库在Selenium自动化测试中的应用。本篇刚好来举例一个&#xff0c;前面我们都是通过发布后文章的详情页的标题来判断文章是否已经发布成功&#xff0c…

凸包 poj 1113

求一个多边形 拐弯的地方用圆弧补上 距离>l 求他的周长 求一个凸包的周长 加2*pi*l #include<stdio.h> #include<string.h> #include<algorithm> #include<vector> #include<stack> #include<math.h> using namespace std;#define MA…

武汉mysql ocp考点_MySQL OCP考试复习系列–开篇:了解MySQL考试

MySQL OCP考试复习系列–开篇&#xff1a;了解MySQL考试嗯&#xff0c;那个决定去考MySQL OCP了&#xff0c;事实上最近工作一直围绕着DB2&#xff0c;MySQL要去考的话需要好好的复习的啊。150分钟&#xff0c;100道多选&#xff0c;答对60道题可以通过&#xff0c;费用1077。L…