文档库 最新最全的文档下载
当前位置:文档库 › 韩顺平2011玩转oracle10g视频教学课堂笔记(完整版)

韩顺平2011玩转oracle10g视频教学课堂笔记(完整版)

韩顺平2011玩转oracle10g视频教学课堂笔记(完整版)
韩顺平2011玩转oracle10g视频教学课堂笔记(完整版)

顺平j2ee系列教程--玩转oracle10g学习笔记

引言:

数据保存问题?

可使用文件保存和数据库保存。

使用文件保存数据存在几个缺点:

1、文本的安全性问题;

2、文件不利于查询和对数据的管理;

3、文件不利于存放海量数据;

4、文件在程序中控制不方便。

为解决数据保存问题,专家们设计出更加利于管理数据的东东--数据库(本质就是一个软件),它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。

数据库

1、数据库的本质就是一款软件,这个软件专门用于管理和维护数据;

2、数据存放在数据库中。

数据库服务器、数据库和表的关系

所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库。

为了保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如图所示:

为什么选择oracle--性能优越

概述:目前主流数据库包括

微软: sql server和access

瑞典MySql: AB公司mysql

ibm公司: db2(处理海量)

美国Sybase公司: Sybase

ibm公司: informix

美国oracle公司: oracle

做项目时应当如何选择数据库?

1、标的(项目预算);

2、功能的要求;

3、并发数(多少人用);

4、安全、稳定性。

5、操作系统(unix[solaris,freeBSD,aix,hp unix]/linux/window)

oracle数据库的认证

oca(oracle certified associate)初级认证

ocp(oracle certified professional)中级认证

ocm(oracle certified master)高级认证

oracle10g安装步骤:

1、安装文件

2、把10201_database_win32.zip文件copy到没有中文的路径下

3、检查服务选项,确定本机没有安装过oracle数据库,如果有则卸载

4、将压缩包解压后,双击setup.exe文件进行安装。

说明:建议大家自己建立一个文件目录,比如d:/hsporacle/oracle,然后把数据库安装到

目录下即可。(目录不要带中文)

这里我们可以选择创建启动数据库(默认数据库)

当我们每创建一个数据库实例的时候,就会自动的生成三个用户:

sys用户(超级管理员,权限最大)

system用户(管理员用户,权限仅次于sys用户)

scott用户(普通用户)

5、在默认的情况下,scott用户是锁定状态(lock user),一般我们启用它。

特别注意:

如果安装的时候,忘记对某个用户解锁,比如scott可以通过system来对该用户解锁。步骤:

1、先使用system登录,运行sqlplus

2、使用命令:alter user scott account unlock

oracle后台服务

OracleDBConsoleorcl 网络企业管理器服务

OracleOraDb10g_home1TNSListener 监听服务(监听端口1521)

OracleServiceORCL 数据库实例服务

oracle发展与现状

oracle10g比oracle9i增加了什么?

简要说:

10g支持网格(Grid),支持自动管理(Automatic Management)

详细说:

1、10g的g是“Grid”缩写,支持网格计算,即,多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网络中均衡(Load Balance),按需增点,避免单点故障(Single Point of Faliure)。

2、安装容易,安装工作量比9i减少了一半。

3、新增基于浏览器的企业管理器(Enterprise Manager)。

oracle公司介绍--产品线

数据库服务器:2007年最新版本11G,2013年最新版本12C

应用服务器:Oracle Application Server

开发工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等

应用软件(主要竞争对手:德国SAP公司)

企业资源计划(ERP)软件

客户关系管理(CRM)软件

人力资源管理软件(HCM)

oracle开发工具

1、sqlplusw和slqplus工具是oracle自带的工具软件

使用:

1、在开始--程序--oracle oradb_home10g--application development--sql plus

2、在运行栏中输入:sqlplusw即可,也可以使用sqlplus进入oracle数据库

oracle管理工具介绍

pl/sql developer属于第三方软件,主要用于开发,测试,优化oracle pl/sql的存储过程比如:触发器,此软件oracle不带,需要单独安装。

oracle管理工具介绍

Enterprise manager console(企业管理器)

oralce10g是通过web管理的一般默认端口是5500,也有1158的。

访问url(一定要保证oracle服务启动才可访问)

ip:1158(或5500)/em

机器名:端口/em

sql*plus常用命令

连接命令

1、conn[ect] (可用于切换用户使用)

用法:conn 用户名/密码网络服务名[as sysdba/sysoper]

当用特权用户身份连接时,必需带上as sysdba或as sysoper

2、disc[onnect]

说明:该命令用来断开与当前数据库的连接,但不退出sqlplus窗口

3、passw[ord]

说明:该命令用于修改用户的密码,如果要想修改其它用户的密码,需要sys/system登录特别说明:

如果给自己改密码则可以不带用户名。如果给别人修改密码需带用户名(必需是system或者sys用户才可以修改)

4、show user

说明:显示当前用户名

5、exit

说明:该命令会断开与数据库的连接,同时会退出sql*plus

sql*plus常用命令介绍

交互式命令

1、&

说明:可以替代变量,而该变量在执行时,需要用户输入

案例:sql>select *from emp where job='&job'

2、edit

说明:该命令可以编辑指定的sql脚本

案例:sql>edit d:/a.sql

3、spool

说明:该命令可以将sql*plus屏幕上的容输出到指定文件中去。

案例:sql>spool d:\b.sql;执行操作;输入sql>spool off

sql*plus常用命令

显示和设置环境变量

概述:可以用来控制输出的各种格式。

1、linesize

说明:设置显示行的宽度,默认是80个字符

sql>show linesize

sql>set linesize 90

2、pagesize

说明:设置每页显示的行数目,默认是14用法和linesize一样。至于其它环境参数的使用也小异。

特别说明:SQL语句需以;分号结尾,功能性命令可以不带;

oracle用户管理

创建用户(简单版)

概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dab(数据库管理员)的权限才能使用。

基本语法:create user 用户名 identified by 密码;

注意:oracle规定用户密码不能以数字开头

给用户修改密码

概述:如果给自己修改密码可以直接使用sql>password 用户名

如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限,也可以使用password用户名

sql>password 用户名;

sql>alter user 用户名 identified by 新密码;

特别说明:oracle已对oracle操作中出现的错误进行了编号,以后遇到错误将记录编号进行网上查询解决方案。

oracle用户管理

创建用户(细节)

例子:

sql>create user shunping identified by m123

default tablespace users

temporary tablespace temp

quota 3m on user;

identified by表明用户shunping将用数据库方式验证default tablespace users//用户的表空间在users上

temporary tablespace temp//用户shunping的临时表建在temp空间

quota 3m on users//表明用户shunping建立的数据对象(表、索引、视图、pl/sql块)最大只能是3m

刚刚创建的用户是没有任何权限的,因此,需要dba给该用户授权。

sql>grant connect to shunping

如果你希望该用户建表没有空间的限制

sql>grant resource to shunping

如果你希望该用户成为dba

sql>grant dba to shunping

表空间(oracle独有的概念)

什么是表空间?表存在的空间,一个表空间是指向具体的数据文件。

为什么创建好的用户无常登录?

oracle中用户建立后是无常登录的,只有在数据库管理员(DBA)对用户分配相应的权限后,用户才可以登录。

如何给用户分配权限?

基本语法:grant create 权限 to 用户名;

案例:sql>grant create session to xiaoming;

也可以按角色对用户分配权限

基本语法:grant 角色名 to 用户名;

案例:sql>grant dba to xiaoming;

oracle管理用户的机制(原理)

oracle中权限的概念

权限分为系统权限与对象权限。

系统权限是数据库管理相关的权限:

create session (登录权限)

create table (创建表权限)

create index (创建索引权限)

create view (创建视图权限)

create sequence (创建序列权限)

create trriger (创建触发器权限)

......

对象权限是和用户操作数据对象相关的权限。

update 改

insert 增

delete 删

select 查

角色分为预定义角色和自定义角色

预定义角色:把常用的权限集中起来,形成角色。

常见的角色有:DBA、connect、resource

自定义角色按需定制一定权限形成角色,可以作为预定义角色的补充。来满足用户的需求。

oracle用户管理

用户管理的综合案例

概述:创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用使令grant,回收权限使用命令revoke

赋权限基本语法:grant 权限/角色 to 用户名;

回收权限基本语法:revoke 权限/角色 from 用户名;

oracle用户管理

删除用户

概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user

的权限

基本语法:drop user 用户名 [cascade];

为了讲清楚用户的管理,这里举例说明:

1、创建xiaoming,并赋予connect和resource

创建用户基本语法:create user 用户名 identified by 密码;

sql>create user xiaoming identified by m123;

给用户授权基本语法:grant 权限/角色to 用户名;

sql>grant connect to xiaoming;

sql>grant resource to xiaoming;

2、切换用户

切换用户基本语法:connect 用户名/密码;

sql>conn xiaoming/m123;

3、xiaoming修改密码

修改密码基本语法:password 用户名;

sql>password xiaoming;

管理员修改密码基本语法:alter user 用户名 identified by 新密码;

sql>alter user xiaoming identified by xiaoming123;(sys或system用户修改其它用户的方法)

4、使用xiaoming建表

建表基本语法:create table 表名(字段属性);

sql>create table users(id number);

5、添加数据

添加数据基本语法:insert into 表名 values(值);

sql>insert into users values(1);

6、查询数据

查询表容基本语法:select * from 表名;

sql>select * from users;

7、删除表

删除表基本语法:drop table 表名;

sql>drop table users;

8、回收权限(需sys或system用户)

回收权限基本语法:revoke 权限/角色名 from 用户名;

sql>revoke connect from xiaoming;

sql>revoke resource from xiaoming;

9、删除用户

删除用户基本语法:drop user 用户名 [cascade];

当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除该用户时,需要加[cascade],表示把这个用户删除的同时,把该用户创建的数据对象一并删除。

sql>drop user xiaoming;

方案(schema)

理解:当一个用户,创建好以后,如果该用户创建了任意一个数据对象,此时,我们的dbms

就会创建一个对应的方案与该用户对应。方案名与用户名完全一样。

小技巧:如果希望看到某个用户的方案究竟有什么数据对象,我们可以使用pl/sql developer

方案这个概念的实际应用:

要求:请完成一个功能,让xiaohong用户可以去查询scott的emp表

步骤:

1、先用scott登录

sql>conn scott/tiger;

2、赋权限给xiaohong

给某用户添加表[增删改查]权限基本语法:grant [select|update|delete|insert|all] on 表名 to 用户名;

sql>grant select on emp to xiaohong;

3、xiaohong查询scott的emp

用户查询授权表的基本语法:select * from [方案名].表名;

注意:方案名不带的话,默认是查询自己方案中的表。

sql>select * from scott.emp;

练习题:

用户创建练习:

1、创建用户tea,stu,并给这两个用户resource,connect角色

sql>conn system/orcl;//使用system用户创建tea和stu用户

sql>create user tea identified by tea;//创建tea用户

sql>create user stu identified by stu;//创建stu用户

sql>grant resource to tea;//对tea用户授权resource权限

sql>grant connect to tea;//对tea用户授权connect权限

sql>grant resource to stu;//对stu用户授权resource权限

sql>grant connect to stu;//对stu用户授权connect权限

2、使用scott用户把对emp表的select权限给tea

sql>conn scott/tiger;//切换scott用户操作

sql>grant select on emp to tea;//将scott的emp查询权限交给tea

使用tea查询scott的emp表

sql>conn tea/tea;

sql>select * from scott.emp;//查询scott的emp表

使用scott用户把emp表的所有权限赋给tea

sql>conn scott/tiger;

sql>grant all on emp to tea;//将scott的emp操作的全部权限交给了tea

使用tea更新/删除/插入scott的emp表

sql>conn tea/tea;

sql>update scott.emp set job='Teacher' where job='&job';

sql>delete from scott.emp where job='&job';

sql>insert into scott.emp values(8888,'FORD','Teacher',7698,'08-9月-81',1500,300,20);

使用scott收回权限

sql>conn scott/tiger;

sql>revoke all on emp from tea;

3、想办法将让tea把自己拥有的对scott.emp的权限转给stu;

sql>conn scott/tiger;

sql>grant all on emp to tea with grant option;

//with grant option表示得到权限的用户,可以把权限继续分配

//with admin option如果是系统权限,则带with admin option

sql>conn tea/tea;

sql>grant all on scott.emp to stu;

使用stu查询scott用户的emp表

sql>conn stu/stu;

sql>select * from scott.emp;

使用tea收回给stu的权限

sql>conn tea/tea;

sql>revoke all on scott.emp from stu;

系统权限with admin option

对象权限with grant option

oralce用户管理

使用profile管理用户口令

概述:profile是口令限制,资源限制的命令集合,当建立数据时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default 分配给用户。

1、锁定

概述:指定该(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令

例:指定scott这个用户最多只能尝试3次登录,锁定时间为2天,让我们看看怎么实现?创建profile文件

创建profile文件设定尝试密码输入几次在错误后锁定几天基本语法:

create profile profile文件名limit failed_login_attempts 尝试输入次数password_lock_time 锁定几天;

alter user 用户名 profile profile文件名;

sql>create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

sql>alter user tea profile lock_account;

2、给(用户)解锁

解锁基本语法:alter user 用户名 account unlock;

sql>alter user tea account unlock;

3、终止口令

为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作。

例如:给前面创建的用户tea创建一个profile文件,要求该用户每隔10天要修改自己的登录密码,宽限期为2天。

创建profile文件设置每隔几天要对用户的密码进行修改,更改密码时间在几天基本语法:create profile profile文件名limit password_life_time 几天后修改密码password_grace_time 宽限期几天;

alter user 用户名 profile profile文件名;

sql>create profile myprofile limit password_life_time 10 password_grace_time 2; sql>alter user tea profile myprofile;

4、口令历史

概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放在数据字典中,这样当用户修改密码时,oralce就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。

例:

1、建立profile

sql>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10

password_reuse_time 2////限制口令在多少天不能重复使用(换言之就是多少天不允许使

用以前使用过的密码)

2、分配给某个用户

sql>alter user tea profile password_history;

5、删除profile

概述:当不需要某个profile文件时,可以删除文件

删除profile基本语法:drop profile profile文件名;

sql>drop profile profile文件名;

注意:profile文件被删除后,原profile文件指定的用户将不再受原profile文件规则限定。

oracle数据库的启动/关闭流程

oracle也可以通过命令行的方式启动,具体如何操作:

oracle启动流程--windows下

1、lsnrctl start (启动监听)

2、oradim -startup -sid 数据库实例名

oracle关闭流程--windows下

1、lsnrctl stop

2、oradim -shutdown -sid 数据库实例名 -shuttype srvc,inst

oracle启动流程--linux下

1、lsnrctl start (启动监听)

2、sqlplus sys/change_on_install as sysdba(以sysdba身份登录,在oracle10g后可以这样写)

sqlplus /nolog

conn sys/change_on_install as sysdba

3、startup

oracle关闭流程--linux下

sqlplus/nolog

conn sys/change_on_install as sysdba

shutdown

注:shutdown关闭,等待每个用户退出系统或被取消后退出关闭数据库。

shutdown transactional:事务性关闭,等待每个用户提交或回退当前的事务,然后oracle 取消对话,在所有用户退出系统后执行关闭。

shutdown immediate:直接关闭,取消所有用户对话(促使回退),执行正常的关闭程序。

oracle登录认证方式

oracle登录认证方式--windows下

概述:oracle登录认证在windows下和linux下是不完全相同的,这里我们先说说windows 下oracle的登录认证方式。

1、操作系统认证

如果当前用户属于本地操作系统的ora_dba组(对于windows操作系统而言),即可通过操作

系统认证。

2、oracle数据库验证(密码文件验证)

对于普通用户.oracle默认使用数据库验证。

对于特权用户(比如sys用户),oracle默认使用操作系统认证,如果验证不通过,再到数据库验证(密码文件验证)。通过配置sqlnet.ora文件,可以修改oracle登录认证方式SQLNET.AUTHENTICATION_SERVICES=(NTS)是基于操作系统验证;

SQLNET.AUTHENTICATION_SERVICES=(NONE)是基于oracle验证;

SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)是二者共存。

oracle用户验证机制

普通用户:默认是以数据库方式验证。如:SQL>conn scott/tiger

特权用户:默认是以操作系统认证(即:只要当前用户(当前登入windows系统的用户)是在ora_dba组中,则可以通过)。如:conn system/orcl as sysdba;

oracle数据库登录验证机制看到as sysdba则认为要以特权用户登录,则会先看当前用户是否在ora_dba这个组中,如果在这个组中则不看前面的用户名和密码。

如果不在ora_dba这个组中,则会看前面的用户名和密码来验证是否有权限登录。如果有权限,则登录成功。oracle则会自动切换成sys用户。这等同于conn sys/orcl;的方式登录成功。

通过修改sqlnet.ora文件,让特权用户登录时必需通过oracle认证而不使用操作系统认证

sqlnet.ora文件在D:\oracle11g\app\Administrator\product\11.2.0\dbhome_1\NETWORK \ADMIN目录中。

oracle登录认证方式

oracle登录认证方式--linux下

这里大家了解即可:

默认情况下linux下的oracle数据库sqlnet.ora文件没有SQLNET.AUTHENTICATION_SERVICES参数,此时是基于操作系统认证和oracle密码验证共存的,加上SQLNET.AUTHENTICATION_SERVICES参数后,不管SQLNET.AUTHENTICATION_SERVICES 设置为NONE或者NTS,都是基于oracle密码验证的。

简单说:

linux下oracle数据库sqlnet.ora文件中

SQLNET.AUTHENTICATION_SERVICES无参数为操作系统和oracle密码验证双重验证;SQLNET.AUTHENTICATION_SERVICES有NONE或NTS参数即为oracle密码验证;

丢失管理员密码怎么办

恢复办法:把原有密码文件删除,生成一个新的密码文件。

恢复步骤如下:

1、搜索名为PWD数据库实例名.ora文件;

PWDorcl.ora密码文件在D:\oracle11g\app\Administrator\product\11.2.0\dbhome_1

\database目录中。

2、删除该文件,为预防万一,建议先备份,再删除;

3、生成新的密码文件,在dos控制台下输入命令:

orapwd file=原来密码文件的全路径\密码文件名.ora password=新密码

entries=10;//entries:允许几个特权用户。(特别注意:密码文件名一定要和原来的密码文件名一样。)

特别注意:生成新的密码文件后,oracle服务要重新启动后方可使用。

课堂练习

给scott用户分配一个profile要求如下:

1、尝试登录的次数最多4次;

2、如果4次输入错误,则锁定该用户2天;

3、密码每隔5天修改一次,宽限期为2天;

答:

SQL>conn sys/orcl as sysdba;

SQL>create profile scottprofile limit failed_login_attempts 4 password_lock_time 2 password_life_time 5 password_grace_time 2;

SQL>alter user scott profile scottprofile;

4、练习如何给用户解锁;

答:SQL>alter user scott account unlock;

5、练习如何删除profile文件;

答:SQL>drop profile scottprofile;

假设你的sys用户密码丢失,写出找回密码的步骤和命令?

1、确认哪个数据库实例的sys用户密码丢失;(例:数据库实例为orclA)

2、进入数据库实例的目录中找到PWDorclA.ora文件;(例目录为:d\oracle\admin\product \11.2.0\dbhome_1\database)

3、为防万一出错,将PWDorclA.ora文件备份一份后,将PWDorclA.ora文件删除;

4、在windows开始菜单--运行--输入cmd进行dos控制台;

5、在dos控制台下输入orapwd file=d\oracle\admin\product\11.2.0\dbhome_1\database \PWDorclA.ora password=orcl entries=1

6、完成上述步骤,进入windows服务中将oracle的数据服务重新启用后,新的sys密码便可使用。

基本概念--数据库服务器、数据主和表的关系

所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库。

为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如图所示:

基本概念--数据在数据库中的存储方式

数据存在方式(主要是以表的形式)

表的管理--创建表(基本语句)

建表的基本语法:

create table table_name(

field1 datatype,

field1 datatype,

field1 datatype,

...

)

注:table_name表名;field指定列名(字段名);datatype指定列类型(字段数据类型)

注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user对象

id int

name string

password string

birthday date

快速入门示例:

SQL> create table users(

id number,

name varchar2(32),

password varchar2(32),

birthday date);

字节数就少,你放一个大整数,它占用的字节数就多。

oracle数据类型

1、char(size)存放字符串,它最大可以存放2000个字符,是定长。

举例说明:

create table test1(name char(32));//test1表中的name字段最多存放32个字符,不足32个字符oracle会用空格补齐,如果超过会报错。

2、varchar2(size)存放字符串,它最大可以存放4000个字符,是变长。

举例说明:

create table test2(name varchar2(16));//test2表中的name字段最多存放16个字符,实际有几个字符就占几个字符的空间,如果超过会报错。

特别说明:如果我们的数据的长度是固定的,比如商品编号(8位),则应当使用char来存放,因为这样存取的速度就会提高。如果存放的数据长度是变化的,则使用varchar2来存放。

3、nchar(n)以Unicode编码来存放字符串,它最大可以存放2000个字符,是定长。

举例说明:

create table test3(name nchar(32));//与char类似,只是以Unicode编码存放字符串

4、nvarchar(n)以Unicode编码来存放字符串,它最大可以存放4000个字符,是变长。举例说明:

create table test4(name nvarchar2(16));//与varchar2类似,只是以Unicode编码存放字符串

特别说明:nchar和nvarchar2与char和varchar2的区别在于,nchar和nvarchar2不论存放英文字符或中文字符都只占1个字符。如存放a和存放'中'都只占1个字符位。而char 和varchar2存放a占1个字符而存放'中'则占2个字符。

5、clob字符型大对象,它最大可以存放8TB,是变长。

与字符型的char/varchar2/nchar/nvarchar2的使用方式一样。

6、blob二进制数据,可存放图片、声音,它最大可以存放8TB,是变长。

与字符型的char/varchar2/nchar/nvarchar2的使用方式一样。

注意:一般情况下很少使用数据库来存放媒体类文件,一般只使用数据库来记录媒体类文件的URL地址。如果考虑到文件的安全性,可以存放到数据库中来保存。

7、number可以存放整数,也可存放小数,是变长。

number(p,s)//p代表整数位,s代表小数位

保存数据围:-1.0e-130至1.0e+126;保存在机器部的围:1~22bytes

特别说明:

有效位:从左到右,第一个非0数就是第一个有效位。

s>0精确到小数点右边s位,并四舍五入。然后检验有效位是否<=p

s<0精确到小数点左边s位,并四舍五入。然后检验有效位是否<=p+|s|

s=0等价于number(p)此时number表示整数。

说明:-1.0e-130(科学计数法):就是-1.0乘以10的-130次方

1.0e+126:就是1.0乘以10的126次方

举例说明:

number(5,2)

表示一个小数有5位有效数,2位小数。围-999.99~999.99

如果数值超出了位数限制就会被截取多余的位数。但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。

number(5)<=>number(5,0)

表示一个五位整数,围-99999~99999。

输入57523.316,真正保存的数据是57523

oracle表的管理--oracle支持的数据类型

数值型(练习)

Actual Data Specified AS Stored As Actual Data Specified AS Stored As 123.89 NUMBER 123.89 123.2564 NUMBER 123.2567 123.89 NUMBER(3) 124 1234.9876 NUMBER(6,2) 1234.99 123.89 NUMBER(6,2) 123.89 12345.123456 NUMBER(6,2) Error

123.89 NUMBER(6,1) 123.9 1234.9876 NUMBER(6) 1235

123.89 NUMBER(4,2) Error 12345.345 NUMBER(5,-2) 12300

123.89 NUMBER(6,-2) 100 1234567 NUMBER(5,-2) 1234600

.01234 NUMBER(4,5) .01234 12345678 NUMBER(5,-2) Error

.00012 NUMBER(4,5) .00012 123456789 NUMBER(5,-4) 123460000 .000127 NUMBER(4,5) .00013 1234567890 NUMBER(5,-4) Error

.0000012 NUMBER(2,7) .0000012 12345.58 NUMBER(*,1) 12345.6

.00000123 NUMBER(2,7) .0000012 0.1 NUMBER(4,5) Error

1.2e-4 NUMBER(2,5) 0.00012 0.01234567 NUMBER(4,5) 0.01235

1.2e-5 NUMBER(2,5) 0.00001 0.09999 NUMBER(4,5) 0.09999

8、date,用于表示时间,(年/月/日/时/分/秒),是定长。

举例说明:

create table test5(birthday date);//添加时个要使用默认格式insert into test5 values('11-11月-11');如使用insert into test5 values('2011-11-11');则报错。

特别说明:oracle日期有默认格式为:DD-MON-YYYY,天-月-年;如果我们希望使用自己习惯的日期添加,也可以,但是需要借助oracle函数来添加。

oracle表的管理--创建表

建表--学生表

字段字段类型

id 整型number

name 字符型varchar2

sex 字符型char

brithday 日期型date

fellowship 小数型number(6,2)

resume 大文本型clob

学生表

SQL>create table students(

id number,

name varchar2(64),

sex char(2),

brithday date,

fellowship number(10,2),

resume clob

);

班级表

SQL>create table class_(

class_id number,

class_name varchar2(32)

);

oracle表的管理--修改表

使用alter table语句添加、修改或删除列的语法

添加列基本语法:

alter table TABLENAME add(columnname datatype);

alter table 表名 add(列名(字段名) 列类型(字段类型));

修改列基本语法:

alter table TABLENAME modify(columnname datatype);

alter table 表名 modify(列名(字段名) 列类型(字段类型));

删除列基本语法:

删除多列语法:

alter table TABLENAME drop(columnname,columnname2,...); alter table 表名 drop(列名(字段名),列名2(字段名2),...); 删除单列语法:

alter table TABLENAME drop column COLUMNNAME;

alter table 表名 drop column 列名(字段名);

修改表的名称基本语法:

rename OldTableName to NewTableName;

rename 表名 to 新表名;

修改列名基本语法:

alter table TABLENAME rename(OldColumnName to NewColumnName);

alter table 表名 rename(旧列名 to 新列名);

查看表结构基本语法:

desc TABLENAME;

desc 表名;

练习:

1、给学生表添加班级编号

SQL>alter table students add(class_id number);

2、学生变成varchar2(30)

SQL>alter table students modify(name varchar2(30));

3、学生变成char(30)

SQL>alter table students modify(name char(30));

4、删除学生表的fellowship字段

SQL>alter table students drop column fellowship;

SQL>alter table students drop(fellowship);

5、把学生表名students修改成stu

SQL>rename students to stu;

6、删除学生表

SQL>drop table stu;

oracle表的管理--添加数据

使用insert语句向表中插入数据

插入数据基本语法:

insert into table[(column [,column...])] values(value [,value...]);

insert into 表名[(列名 [,列名2...])] values(值 [,值2...]);

注意事项:

1、插入的数据应与字段的数据类型相同。

2、数据的大小应在列的规定围,例如:不能将一个长度为80的字符串加入到长度为40的列中。

3、在values中列出的数据位置必须与被加入的列的排列位置相对应。

4、字符和日期型数据应包含在单引号中。

5、插入空值,不指定或insert into table values(null);

6、给表的所有列添加数据时,可以不带列名直接添加values值。

向students添加数据

SQL>insert into students (id,name,sex,brithday,fellowship,resume) values(1,'三','

韩顺平html笔记

HTML 一、HTML有关知识点 1.html介绍 html是一种标记语言,主要的用途是开发网页,使用html可以展现文字、图片、视频、声音,html是我们web开发(网站开发)。 2.html可以做什么 ?html可以编写静态网页 ?该静态网页可以包括文字、图像、动画、声音、表格、链接。从而构成一个个漂亮的网页 3.Html发展历史 4.Html的基本结构 5.是标记(也叫元素),标记的一般格式: <元素名[属性=“属性值”]>元素内容 如果没有内容可以用:<元素名[属性=“属性值”]/> 6.Html实体标记 7.Html常用标记

?html超链接 ●_blank 新的窗口 ●_self 本窗口 ●_parent 父窗口 ●_top整个浏览器窗口 ?html图像元素 ?html表格

--用于说明行 --用于说一小格
?无序列表
?有序列表
?框架 ?表单元素 文本框: 密码框: 单选框: 复选框:checked是指默认选中的 隐藏域: 图片按钮: ?文本域: ?下拉菜单: 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.wendangku.net/doc/1212314345.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1)Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var 这个关键字 2)Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规(函数/变量): 1)使用大小写字母,数字,$可以命名 2)不能以数字打头 3)不能使用js保留字和关键字(即java里的关键字) 4)区分大小写

韩顺平html+css+js之JS笔记

韩顺平html+css+js 之JS笔记 Javascript的基本介绍 ?JS是用于WEB开发的脚本语言: ?脚本语言是什么: ?脚本语言不能独立使用,它和HTML/JSP/PHP/https://www.wendangku.net/doc/1212314345.html,配合使用 ?脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环) ?脚本语言实际上是解释性语言(即在执行时直接对源码进行执行) ?Java程序.java→.class→jvm , js→浏览器(js引擎来解释执行) ?Js在客户端(浏览器)执行 ?因为js是由浏览器来执行的,因此这里有个问题,不同类型的浏览器可能对js的支持不一样。 New Document 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.wendangku.net/doc/1212314345.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1) Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var这 个关键字 2) Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规范(函数/变量): 1) 使用大小写字母,数字,$可以命名 2) 不能以数字打头 3) 不能使用js保留字和关键字(即java里的关键字) 4) 区分大小写 5) 单行注释:// 6) 多行注释:/*…….*/ 韩顺平JS第三讲

jquery学习笔记-韩顺平

1,Jquery是一个javascript框架或者叫做javascript库; 2,用Ajax我们可以给服务器发送一个请求,服务器可以给我回送一个请求; 3,出现javascript框架的根本原因就是为了提高开发者的开发效率; 4,jquery是一个轻量级的js库(压缩后只有21K),这是其他的js库所不及的,它兼容CSS3,还兼容各种浏览器; 5,JQuery是一个快速的,简洁的javascript库,使用户能更方便的处理HTML document,events,实现动画效果,并且方便的为网站提供AJAX交互; 6,JQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 7,jquery能够使用户的html页保持代码和html内容的分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可; 8,所谓的库就是提供一些现成的方法供你去调用; 9,当前流行的javascript库有: Jquery ,MooTools,Prototype,Dojo,YUI,EXTJS,DWR[主要是运行在服务器上的]; 10,$(document) //---这个表示一个jquery对象; 11,如果使用jquery,则需要引入jquery库 12,jquery对象就是对dom对象的一系列包装,它包装完成后,就可以使用jquery对象提供的方法来进行操作; 13,在使用jquery开发中,有两种对象,1,jquery对象,2,dom对象,如果是jquery对象则只能使用jquery库提供的方法,如果是dom对象,则只能使用js本身提供的方法; 14,分析jquery库文件的运行原理: