学习内容。
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...