Oracle
suwu150
业精于勤,荒于嬉;行成于思,毁于随;磨刀不误砍柴工。
展开
-
Oracle中对Scott用户解锁
Oracle 中启动 Scott 用户 的方法 , 在 Oracle10g, (g 代表‘网络’的意思) 数据库中 Scott 这个用户 安装时是被锁定的,安装 Oracle的时候 ,你可以直接选择 给该用户 解锁,如果忘记了解锁, 后期可以使用 sqlplus工具 通过命令 将其 解锁。 默认的scott用户是被锁定的,先解锁就能登陆使用 数据库了。 使用下面的语句解锁sco原创 2016-05-27 09:38:55 · 1680 阅读 · 0 评论 -
教学管理系统E-R建模
对于教学管理系统,我们就很容易想到教学管理中肯定有老师,而老师是有性别,年龄,电话号码,家庭住址作为属性的,有老师就一定有课程,老师可以进行授课,老师可以以一对多的形式讲授特定的课程系,而课程要进行区分,所以课程也是要有属性的,那就给课程一个编号,名称,以及上课时间地点等信息,有这么多课程和老师,总不能都由校长负责管理吧,那就在老师钟找出一个人进行替校长管理相同类型课程或授课老师的事务,那么就需要一个主管来管理老师,既然有一个主管负责授课内容基本一致的老师和性质相同课程的管理,那就很明显会有不同性质的团队区原创 2016-10-03 18:04:05 · 23824 阅读 · 0 评论 -
修改表和约束(alter语句)
修改表和约束(alter语句)create table t_user(id number constraint user_id_pk primary key,name varchar2(100),salary number); drop table t_user; //在表中添加一个新的列alter table t_user add birthday date; //删除表的某列//给表中的列添加约束//这个约束相当于之前的表级约束//测试刚添加的唯一约束是否生效因为以前的实验中有zs用户,所以现在不能够转载 2016-10-03 22:39:06 · 6539 阅读 · 0 评论 -
Oracle 序列 Sequence
Sequence 序列作用:帮我们生成主键列的值(特点:非空唯一) 创建序列:一般不需要设置sequence的属性,使用默认的方式去创建就可以了. create sequence 序列名; 如果需要设置属性,那么就加上下面的语句. [INCREMENT BY n] 每次拿出值加多少 [START WITH n] 初始值从几开始 [{MAXVALUE n | NOMAXVALUE}] 最大值 [{MINVALUE n | NOMINVALUE}] 最小值 [转载 2016-10-03 22:54:00 · 603 阅读 · 0 评论 -
Oracle视图view
视图是一个虚拟表,可以通过*简单视图*对原来的表进行数据的删除/更新/插入,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。 就是提取一张或者多张表的数据生成一个映射,操作视图可以达到操作原表的效果,方便数据的管理以及安全操作。 //可以通过*简单视图*对原来的表进行数据的删除/更新/插入 视图的作用: 1.隐藏表中的重要数据 2.代替一些比较长的sql语句 视图分为俩类:转载 2016-10-04 01:28:55 · 527 阅读 · 0 评论 -
Oracle索引(index)
1. 类似书的目录结构Oracle 的"索引"是一种对象,是与表关联的可选对象,能提高SQL查询语句的速度索引直接指向包含所查询值的行的位置,减少磁盘I/O 索引和表是相互独立的物理结构Oracle 自动使用并维护索引,插入、删除、更新表后,自动更新索引自动创建当在表中指定了primary Key或者unique约束时会自动创建唯一值索引用户创建用户可以创建非唯一值索引以提高在访问数据时的效率语法create index 索引名on 表名(列名);例如create index emp_index on s_转载 2016-10-04 09:07:24 · 674 阅读 · 0 评论 -
select语句(3)--单值函数
1.字符函数日期函数转换函数数字函数分组函数哑表dual :是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。面语句,我们查询后能够看到只有列D,其内容为X:显示1+1的结果,可以看出,dual很多时候是为了构成select的标准语法select 1+1 from dual; 假如我们在公司,有时会遇到加薪问题,加薪时可能会有区别,比如经理加1000,普通人员加400,等问题,那么我们该怎么解决??这时我们就需要用到case...when...then..语句,de原创 2016-09-16 20:01:01 · 2856 阅读 · 0 评论 -
权限管理和导入导出
用户权限控制创建用户导出导入数据库数据库的导入导出系统终端执行 导出:exp 根据提示按回车下一步即可(其中文件名等信息可以更改,在回车前输入自己想用的属性就行 导入:imp 根据提示按回车下一步即可 create user user_name identified by password例如:create user zhangsan identified by zhangsan; 2.删除用户drop user zhangsan cascade; //解锁用户alter user s转载 2016-10-04 13:15:52 · 2573 阅读 · 0 评论 -
Oracle中的同义词synonym
在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等,数据库管理员都可以根据实际情况为他们定义同义词。同义词分类 Oracle同义词有两种类型,分别是Oracle公用同义词与Oracle私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。)Oracle公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使转载 2016-10-04 16:21:35 · 1715 阅读 · 0 评论 -
Oracle中JDBC的连接类型oci和thin
JDBC的连接类型 oci 和 thin 连接类型: 1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配 置。2、转载 2016-10-04 23:15:17 · 1400 阅读 · 0 评论 -
数据库中schema与catalog简介
数据库schema与catalog简介 按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,主要用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、序列等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalo转载 2016-10-04 23:48:38 · 8292 阅读 · 0 评论 -
DML语句(delete,insert,update)
DML(Data Manipulation Language 数据操作语言)insert 将记录插入到数据库update 修改数据库的记录delete 删除数据库的记录commit 提交数据savepoint 设置回滚点rollback 回滚执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未交的DML命令提DQL: select查询语句DML:数据操作语言DDL:数据定义语言DCL:原创 2016-10-03 01:32:52 · 8385 阅读 · 0 评论 -
Oracle数据库中创建表
create table 表名(列名1 数据类型 列级约束,列名2 数据类型 列级约束, 列名3 数据类型 列级约束,1.关键字2.表名3.列名4.数据类型5.约束6.固定格式其中,约束分为列级约束(因为是跟在列的声明后面写的)和表级约束(因为是在全部列声明完之后写的),列级约束和表级约束都是对列中的值进行约束的,例如:列的值不能为空,列的值必须是唯一的等等注:列级约束也称为行级约束同时,列级约束和表级约束都是可选的,也就是都可以写也可以不写。create table student(id number原创 2016-10-02 22:28:29 · 4043 阅读 · 0 评论 -
JDBC编程的六个步骤
JDBC编程的六个步准备工作中导入ojdbc文件,然后右键选中添加路径build path-->到oracle安装目录里添加oracle的ojdbc.jar包 (1).注册驱动 Class.forName("oracle.jdbc.OracleDriver"); (2).连接数据库 String url = "jdbc:oracle:thin:@localhost:1521:xe";//其中xe为sid Connection conn = DriverManager.getConnection(url,na原创 2016-10-06 18:44:46 · 21553 阅读 · 4 评论 -
Statement 和 PreparedStatement之间的关系和区别
关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高表示预编译的 SQL 语句的对象。 接口:public interface PreparedStatement extends Statement之间的继承关系 SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。 注:用于设置 IN 参数值的设置方法(setShort原创 2016-10-06 20:02:51 · 68292 阅读 · 8 评论 -
子查询练习
查询s_emp表每个部门的最大工资数,并且显示出这个最大工资的员工名字以及该部门的名字和该部门所属区域,并且使用部门编号进行排序查询每个部门最大的工资数,及员工名字 select s2.dept_id,s2.last_name,max(s1.salary) from s_emp s1,s_emp s2 from s_emp s1,s_emp s2 group by s2.dept_id询平均工资比 41号部门的平均工资 高的部门中员工的信息,并且显示出当前部门的平均工资 查询平均工资比 41号部门的平转载 2016-10-02 11:47:23 · 2596 阅读 · 0 评论 -
数据库事务处理
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是数据库运行中的一个逻辑工作单位,由DBMS中的事务管理子系统负责事务的处理。事务的提交和产生1.原创 2016-10-03 10:22:54 · 1336 阅读 · 0 评论 -
oracle中的伪列 rownum
oracle中的伪列 rownum 伪列rownum,就像表中的列一样,但是在表中并不存储。伪列只能查询,不能进行增删改操作。它会根据返回的结果为每一条数据生成一个序列化的数字.rownum是oracle才有的伪列 rownum 所能作的操作: rownum 只能等于1 如果让其等于其他数 则查不到数据原创 2016-09-17 00:18:47 · 559 阅读 · 0 评论 -
Oracle数据库发展历史
1977年6月,Larry Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。那个时候,32岁的Larry Ellison,这个读了三家大学都没能毕业的辍学生,还只是一个普通的软件工程师。公司创立之初,Miner是总裁,Oates为副总裁,而转载 2016-09-13 21:55:05 · 9096 阅读 · 1 评论 -
sql,sqlplus,pl/sql的区别
SQL语句是以数据库对象为操作对象的语言,主要包括数据定义语言DDL,数据操纵语言DML,数据控制语言DCL和数据存储语言DSL等。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中,当SQL命令输入完毕后,可以通过在命令行的末尾输入分号“;”并按回车结束,或者在单独一行上用斜杠“/”或空行表示结束。PL/SQL块同样是以数据库对象为操作对象,但由于SQL本身不具备过程控制功能,所以为了能够与其他语言一样具备过程控制的处理功能,在SQL中加入诸如循环和选择等面向过程的处理功能,由此形成了PL/SQL转载 2016-09-15 00:31:19 · 2612 阅读 · 0 评论 -
sqlplus命令
7.sqlplus命令 sqlplus 登录之后,可以使用buff(缓存)来存储/执行/修改要执行的sql语句 这里的buff的特点: 1.buff中只能存储一条sql语句(但是这条sql语句可能有很多行) 2.每次放入新的sql语句,会把之前的覆盖掉 3.每次执行sql语句,都会把这个sql语句放到buff里面原创 2016-09-16 00:13:09 · 6397 阅读 · 1 评论 -
linux系统打开SqlDeveloper出错
No protocol specifiedException in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisp原创 2016-09-16 12:42:03 · 2055 阅读 · 0 评论 -
select语句(1)--数据查询操作
select语句,数据查询操作 1.使用select语句查询某张表的所有数据内容 语法: select [distinct] *{col_name1,col_name2,..} from tb_name; 注意:语法中出现的中括号[],表示该部分可有可无 *:表示所有列,仅仅作为测试和学习使用,在企业用语中不出现,因为效率低下且可读性原创 2016-09-16 17:07:01 · 1764 阅读 · 0 评论 -
select语句(2)--排序和限制查询
第二章:排序和限制查询 1.排序:所谓排序,就是根据某个字段的值按照升序或者降序的情况将记录查询出来 语法: select col_name,... from tb_name order by col_name [asc|desc],... 注意:1.排序使用order by字句,该子句只对查询记录显示调整原创 2016-09-16 17:51:20 · 3419 阅读 · 0 评论 -
Mybatis中自动生成主键
Mybatis中自动生成主键 在INSERT语句中,我们为可以自动生成(auto-generated)主键的列 STUD_ID 插入值。我们可以使用useGeneratedKeys和keyProperty属性让数据库生成auto_increment列的值,并将生成的值设置到其中一个输入对象属性内,如下所示: <insert id="insertStudent" parameterType="Student" useGeneratedKeys="true" keyProperty="studId"原创 2016-10-22 23:36:20 · 17143 阅读 · 1 评论 -
select语句(4)--Oracle中的日期格式及千年虫问题
千年虫: 在早期的计算机的程序中规定了的年份仅用两位数来表示。也就是说,假如是1971年,在计算机里就会被表示为71,但是到了2000年的时候这个情况就出现了问题,计算机就会将其年份表示为00。这样的话计算机内部对年份的计算就会出现问题。这个事情当时被称为千年虫 数据库中表示日期中年份的有俩种: yy和rr 之前一直使用的是yy格式,后来才有的rr格式 yy表示使用一个俩位数表示当前年份: 1990 ---yy数据库格原创 2016-09-16 21:35:31 · 3905 阅读 · 0 评论 -
select语句(5)--多表查询
多表查询,又称表联合查询,即一条sql语句涉及到的表有多张,数据通过特定的连接进行联合显示. 一、笛卡尔积 在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y. 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。 在数据库中,如果直接查询俩张表,那么其查询结果就会产生笛卡尔积原创 2016-09-17 01:11:31 · 8851 阅读 · 2 评论 -
select语句(6)--组函数和嵌套查询
group by 在查询表中数据的时候进行分组的关键字 having 分组之后进行进一步数据筛选的关键字 having和where的功能类似 组函数(分组函数),是指将数据按照某列的值进行分组后,然后使用组函数分别对每个分好的小组中的数据进行处理。所以组函数一般要结合着分组关键字group来使用 组函数: avg 求平均值 count 计算有多少条数据 max 最大值原创 2016-09-17 16:09:52 · 4785 阅读 · 0 评论 -
SQL语句中的运行时参数
运行时参数一、运行时参数的使用 sql语句中的值,我们可以使用一个参数来代替,然后每次运行的时候都可以重新输入这个值 例如: select last_name,salary,dept_id from s_emp where id=&id;如上图所示,使用了运行时参数&id,其中id为变量值,如果之前没有定义,则会像图中提示的进行提示,如果以前定原创 2016-10-02 20:46:49 · 6739 阅读 · 0 评论 -
数据建模和数据库设计
实体-关系图(Entity Relationship Diagram),也称为E-R图,提供了表示实体、属性和关系的方法,用来描述现实世界的概念模型。 构成E-R图的基本要素是实体、属性和关系 实体(Entity):实体用来表示具有相同特征和性质的事物(类似于java的类),实体由实体名和实体属性来表示。 属性(Attribute):实体所具有的某一特性,一个实体可以有若干个属性 关系(Relationship):实体彼此之间相互连接的方式称为转载 2016-10-02 21:29:15 · 12887 阅读 · 0 评论 -
数据字典问题
数据字典帮助用户了解当前数据库的一些信息或是对象的信息或是用户的信息.1.数据字典在数据库被创建时创建的。 2.数据字典中的数据被数据库服务器自动更新和维护 常见的数据字典(它们都是视图)USER 开头的视图里面存放着用户自己拥有的对象ALL 开头的视图存放着用户有权限查看的对象DBA开头的视图存放着数据库所有的对象V$开头的视图存放数据库运行的一些性能属性数据,user开头的数据字典: 包含当前用户所拥有的相关对象信息。 //查询用户拥有的所有表的名字 select table_转载 2016-10-03 00:13:23 · 2207 阅读 · 0 评论 -
Oracle数据库创建第一张表
对于Oracle数据库的使用,创建一张符合自己需求的表是至关重要的,下面就让我们进行创建第一张属于自己的表创建表时有两种种方式:(1)在cmd命令行提示符里边根据需要进行创建(Linux系统中使用终端进行创建) (2)在sql developer中进行创建,而对于在可视化界面sqldeveloper中创建时,也有两种方式,即一种是使用命令直接进行创建,另外一种是使用可视化界面按钮进行点击创建面就是创建的具体过程: (1)首先我们进行数据的连接,在SQLdeveloper中进行操作,在使用sqldev原创 2016-05-27 09:04:38 · 9396 阅读 · 2 评论