高效指南笔记

登录数据库有两种认证方式:
操作系统认证:默认情况下,如果在本机服务器登录oracle数据库,可以使用操作系统认证,不用输入数据库用户名及密码
用户密码认证:如果是远程连接数据库,则需要使用数据库的用户名 密码进行认证

oracle数据库默认有两个超级用户sys system

windows系统中查看oracle数据库是否已经启动
开始-控制面板-管理工具-服务

查看数据库名称
SQL> show parameter db_name

sql即结构化查询语言,市一中数据库查询和程序涉及语言,用于存取数据以及查询、更新和管理关系数据库系统。

数据库字典表dba_users表存储着oracle数据库的所有用户信息

查询用户的状态
SQL> select username,account_status from dba_users where username=‘SCOTT‘;

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          OPEN

where条件后面的每个字段所表示的值是区分大小写的。

查看用户有哪些表
select table_name from user_tables;

字符左对齐
数字右对齐

表:是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。

表的列类型,可以是数字、文本类型。
如果是数字类型,则不能输入文本,文本类型的字段则可以输入数字,数字可以作为文本。

主键:主键是关系数据库表中的某一列或者某几列的集合。它能够唯一标识数据库表中的一行。主键不能包含空值。

外键:外键是关系数据库表中的一列或者某几列的组合;它的值或者与另外一个表的某一列或者某几列相匹配,这一列是另一个表的主键。

oracle数据库共有5个约束:主键 外键 非空 唯一 条件
非空:就是这个列的值不能为空(not null)
唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值null
条件:可以对列的值设定在某个条件范围之内。比如,人的年龄就不能为负数,可以设置这个列的条件大于0,小于200

表的主键和唯一约束很像,有哪些区别?
表的主键是列的值为表中的唯一标识,不能为空值null,而表的唯一约束是列的值在表中唯一存在,可以为空值null

create table items(itemNO number(2) constraint pk_items primary key,itemName varchar2(20) not null);

如果是主键,该列的值不能有重复数据。
如果是外键,需要确认items表的deptno列中是否存在3号这个项目。没有存在是不能增加的,这就可以显示出两个表关联外键所起的作用。

alter table items modify (manager varchar2(8));

alter table items drop column manager;

create user lisi identified by lisi;

grant connect to lisi;
grant select on dept to lisi;
grant select on bonus to lisi;
grant select on salgrade to lisi;

revoke select on emp from lisi;

grant select,insert,delete,update on emp to lisi;

修改密码:
alter user lisi identified by lisi321;

删除用户
drop user lisi;
drop user lisi cascade;

查看数据库用户本身拥有的权限
select * from session_privs;

查看数据库用户拥有的角色
select * from user_role_privs;

查看角色拥有哪些权限
select * from dba_sys_privs where grantee=‘CONNECT‘;

一般开发人员拥有connect resource两个角色就可以满足需求了

数据库有哪些重要的对象:
表 视图  索引  函数  序列  触发器

对象是性质相同的数据元素的集合。

列中的数据类型和约束决定了数据的合法性和统一性

创建序列:
create sequence bookId
  start with 1
  increment by 1
  maxvalue 999999
  nocache
  nocycle;

序列的nextval表示序列的下一个数值,currval表示序列的当前数值

虚表dual是oracle数据库与数据字典一起自动创建的一个表,它只有一列dummy,数据类型为varchar2(1)

创建一个通过员工的ID号获取其薪水的函数
create or replace function get_empsal(emp_no in number)
return number
is emp_sal number(7,2)
begin
    select sal into emp_sal from emp where empno=emp_no;
    return (emp_sal);
end;

create or replace function这是创建或者已经存在的函数,函数名为get_empsal,括号中的emp_no为输入的工号,输入的类型是number
return number该函数定义返回一个数值类型的值

测试函数的写法:
select get_empsal(7566) from dual;

存储过程是一组为了完成特定功能而建立的sql语句集,经编译后存储在数据库中。
用户通过指定存储过程的名字并给出参数来执行它

根据员工号来删除员工信息的存储过程
create or replace procedure delempno(empid in number) is
begin
    delete from emp where emp.empno=empid;
    commit;
end delempno;

用法:
execute delempno(7566);

索引是对数据库表中一列或多列的值进行排序的一种结构。

创建一个存储过程向某表插入大量数据
create table test_index(id number,name varchar2(200));

create or replace procedure insert_data
is
temp varchar2(20):= ‘Insert Data‘
begin
    for i in 1...10000000 loop
        insert into test_index(id,name) values(i ,temp);
    end loop;
    commit;
end;

execute insert_data;

同义词是现有对象的一个别名。分为私有同义词和公共同义词。

查询用户是否有创建同义词的权限
select * from session_privs where privilege like ‘%SYNONYM%‘;

grant create any synonym to scott;

grant create public synonym to scott;

oracle数据库中函数和存储过程有什么区别?
1 函数必须有返回值,而过程没有返回值
2 函数可以单独执行,而过程必须通过execute执行
3 函数可以嵌入sql中执行,而过程不能。
我们可以将比较复杂的查询写成函数,然后到存储过程中调用这些函数。

关闭数据库的不同命令有何区别

时间: 2024-10-11 12:40:36

高效指南笔记的相关文章

SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 5.集群环境下SQL Server资源无法保持在线 目录 5.启动SQL Server服务和数据库... 1 5.1 SQL Server服务启动步骤... 1 5.1.1 从注册表中读取SQL Server启动信息... 1 5.1.2 检查硬件,配置内存和CPU.. 2 5.1.3 数据库启动.

SQL Server 2012实施与管理实战指南(笔记)——Ch3Alwayson可用组

3.AlwaysOn可用组 Alwayson支持的,是一个可用性组,每个可用性组是包含了多个用户数据库的容器,可用性组内的数据库可以作为一个整体进行故障转移. AlwaysOn关键特性: 一.类似集群的特性 1.多个数据库可以一起迁移 2.提供一个虚拟服务器名,这个虚拟服务器名始终是当前的primary. 3.可以有自动切换,手动切换和强制切换 4.一个primary,最多4个secondary(sql server 2014增加到了8个) 5.Dashborad可以监视alwayson运行状况

C# 高效编程笔记2

C# 高效编程笔记2 1.理解GetHashCode()的陷阱 (1)作用:作为基于散列集合定义键的散列值,如:HashSet<T>,Dictionary<K,V>容器等 (2)重载GetHashCode()的规则: 如果两个对象相等,那么其散列值也应相等;对于任何一个对象,其GetHashCode()必须保持不变;对于所有输入,散列函数应该在所有整数中按照随机分布生成散列码. 2.推荐使用查询语句而不是循环 查询语句可以让程序的逻辑表达式由"命令式"转为&qu

iBATIS开发指南笔记

第一部分  概述 (一)目标和初衷 1. iBATIS的目标是:用少量的代码获得大量的数据访问功能 2. 初衷是让程序员将如下过程做的更好更简单: Separating SQL code from programming code 将SQL代码从程序代码中分离 Passing input parameters to the library classes and extracting the output 对类库传递输入参数来提取输出结果 Separating data access class

数据分析基础教程Numpy指南笔记

Numpy指南笔记 第2章:Numpy基础 创建多维数组# coding:utf-8import numpy as npm=np.array([np.arange(2),np.arange(2)])print mprint m.shape 一维数组切片和索引# coding:utf-8import numpy as npa=np.arange(9)print aprint a[3:7]print a[:7:2] #用下标0-7,以2为步长选取元素 多维数组切片和索引# coding:utf-8i

Struts2权威指南笔记

1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork的拦截器链自动对请求应用通用

css 权威指南笔记

部分属性选择: 选择class 属性中包含warning的元素 [class~="warning"]{font-weight:bold} 子串匹配属性选择器: 在现代浏览器中得到支持 包括ie7 特定属性选择器: css 权威指南笔记

JavaScript权威指南笔记——第1部分

# <JavaScript权威指南>笔记--第1部分 说明: 印刷版:2012年4月第1版 2016年9月第17次印刷. 本书的风格和<Effective Java>很类似,推荐一下. 该笔记逆序记录的. ----------------------- ------<end>------ | node的helloworld程序: ```js //! program.js // 通过在命令行输入`node program.js`来运行,然后在浏览器中打开网址`127.0.

ssh-key 免密码验证分发、管理、备份指南笔记02

ssh-key 免密码验证分发.管理.备份指南02 1.备份需求分析 要求所有服务器在同一用户xiaoping系统用户下,实现B.A机器从本地备份数据到C机器上,在备份过程 中不需要C的提示系统密码验证. 即实现从A.B服务器备份数据到Z备份存储服务器的免密码登陆验证的解决方案 备份数据流方式如下: A--->C B-->C 想想比喻,即多把钥匙(A\B)开一把锁(C) 2.生成密钥对 [[email protected] ~]$ ssh-keygen -t dsa Generating pu