Oracle笔记

发布 2021-05-11 22:33:28 阅读 3234

学习内容。

1、学会安装与卸载。

2、理解关系型数据库。

3、了解oracle的版本、oracle 9i oracle 10g oracle 11g

4、为什么学习sql数据库。

5、sql语句的分类。

6.创建表。

7、删除表。

8、修改表。

9、约束。11、dml语句 insert,update,delete

12、pl/sql编程语法。

13、存储过程。

14、触发器。

15、视图。

16、索引。

17、查询(普通查询,高级查询)

18、序列。

19、用户管理(权限)

20、创建数据库(表空间。)

21、sql*plus工具。

deveploer第三方工具。

23、powerdesigner数据库设计工具。

安装。sys与system

sys用户是超级用户,具有最高权限,具有有sysdba角色,有create database的权限。

system用户是操作员,权限也很大,具有sysoper角色,没有createdatabase的权限。

一般,对数据库的维护,使用system用户。

连接数据库。

1)数据库的服务要启动。

a、 打开服务对话框。

b、oracledbconsoleorcl:oracle数据库控制台服务,orcl是oracle的实例标识,默认的实例为orcl。

在运行enterprise manager(企业管理器oem)的时候,需要启动这个服务打开这个服务可以通过控制台来操作数据库。

c、oracleserviceorcl/ex:数据库服务(数据库实例),是oracle核心服务该服务,是数据库启动的基础,

只有该服务启动,oracle数据库才能正常启动。

d、oracleoradb11g_home1tnslistener:***服务,服务只有在数据库需要远程访问的时候才需要(包括powerdesigner数据库设计工具)。

2)有正确的用户名和密码。

sql*plus,基于命令的sql*plus

语法:sqlplus 用户名/密码 [@host string] [用户身份]

例如:sqlplus sys/ as sysdba(只要sys用户才能指明sysdba身份,必须指明)

注意:(1)如果是sys用户,则必须指定身份,as sysdba 或者 as sysoper

(2)如果指定了sys的身份,可以不输入密码,系统也会登录数据库。

(3)输入sys用户身份,没有输入密码,可以正常登录的先决条件是:

必须系统管理员。

select * from all_users; 查看用户数;

创建用户的基本命令。

(1)必须具备创建用户的权限才能创建用户;

(2)学会创建用户的命令。

语法:create user 用户名 identified by 密码。

例如;create user sxf identified by sxf;

select * from all_users;查看所有用户。

grant connect, resource to sxf;

如果在oracle下创建表是基于在某个用户下创建表的。

(3)新创建的用户不具备任何权限,即:不能连接数据库,必须授予权限。

:grant connect, resource to sxf;

3)sql*plus工具。

它是提供一种连接数据库的直接执行方式,是一个客户端应用工具。

sql语句。

sql语言大致分为如下几类:

1)数据定义语言(ddl),如:create, drop, rename…

2)数据操作语言(dml),如:insert, update, delete…

3)数据控制语言(dcl),如:grant, revoke

4)查询语言,如:select …

5)事务控制语言(transaction control,tc),如:commit, rollback, s**epoint …

查询错误提示信息的意思。

select * from user_catalog 查询当前用户下有哪些表和序列。

commit:让数据生效。

操作:(1)显示表结构

desc 表名。

(2)查看缓存。

l或 list 只能显示上一次输入的sql语句。

(3)重新运行缓存中的sql语句。

或r 运行上一次输入的sql语句。

(4)n命令。

把第n行设为当前行,(5)del n 删除缓存中的第n行。

(6)a命令。

第三章创建表与维护表。

1、数据类型。

(1)创建表时候,都必须为表中的每一列指定数据类型。

(2)char(length):存储固定长度字符串。length参数指定了字符串的长度。

如果存储的字符串长度较小,就在字符串末尾以空格补全。

(3)varchar2(length):存储可变长度字符串。length参数指定了字符串的长度。即使存储字符串长度比指定长度小,也不用在字符串末尾以空格补全。

(4)date:存储日期和时间类型。

date数据类型格式:日-月-年如:'17-12月-14'

(5)number(m,n):存储浮点数,但也可以存储整数。m代表存储数字的最大位数,n代表小数点右边的最大位数。如果没有指定m,也没有指定n,那么默认存储38位精度的数字。

(6)foalt:oracle 10g提供一种新数据类型,用于存储一个单精度的32位浮点数。

(7)double:oracle 10g提供一种新数据类型,用于存储一个双精度的64位浮点数。

select sysdate from dual;查看系统当前日期;dual:虚表(不存在的表)可以其他表代替。

sysdate:显示当前系统时间的函数。

2.创建、修改和删除表。

(1)语法格式:create table 表名

列名数据类型 [default 默认值][,

例如:create table student (

id number(5), 学生编号。

name varchar2(10) -学生姓名(注释))

(2)oracle数据库中的表和列名,其命名规范:

(a)必须以英文字母开头,之后跟大写或小写英文字母,或数字,或#,或$,或_。

(b)名字的长度最短为一个字符,最长为30个字符。

(c)一定不能与oracle数据库系统的保留关键字相同。

(3)复制表。

语法格式:create table 表名 as 子查询。

例如:create table worker as select * from emp

(4)(复制表)利用子查询来创建表需要注意如下事项:

(a)oracle使用指定的列和表名来创建表,所有的行(记录)由子查询得到,并插入到该表中。

(b)指定的列名的个数一定要和子查询的个数相同。

(c)指定每列的数据类型必须与子查询的每列数据类型相匹配。

(d)指定列名必须符合列的命名规范。

(e)如果没有给出列名,列名与子查询中的列名相同,而且列的个数和子查询列的个数相同。

(5)在表中增加新列。

alter table 表名 add (列名数据类型 [default 默认值][,列名…])

(6)在表中修改已存在的列。

alter table 表名 modify (列名数据类型 ,default 默认值,..

修改表中的列注意事项:

a:可以增加字符类型的列的宽度。

b:可以增加数字类型的列的宽度和精度。

c:只有当所有列的值都为空或者表中没有数据时,才可以减少列的宽度。

d:只有当所有列的值都为空时,才可以改变某一列的数据类型。

e:如果改变某一列的默认值,该默认值只能影响以后的操作。

f:只有当某一列没有改变该列的大小的情况下,才可以把char类型的列改变成varchar2类型的列,或者把varchar2类型的列改变成char类型的列。

(7)删除表的列。

alter table 表名 drop column 列名 (同时删除数据)

删除表中的列要注意如下事项:

a:使用alter table语句对列进行删除,一次只能删除二列,需要注意一点:alter table 表名 drop (列名,列名, …

去掉column关键字,且多列用括号括起来。

b:使用alter table语句对列删除过后,该表至少还有一列。

c:因为alter table语句是ddl语句,所以删除的列是无法恢复的。

d:所删除的列可以包含数据,也可以不包含数据。

(8)删除表。

a. drop table 表名

a、如果你不但要删除表中的数据而且还要删除表的结构,请使用drop table语句,b、drop table语句有如下特征:

(a)它删除表中所有的数据行和表结构。

(b)它也删除表的所有索引。

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...