当前位置:文档之家› oracle10g教程从入门到精通

oracle10g教程从入门到精通

oracle10g教程从入门到精通
oracle10g教程从入门到精通

韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装

Oracle安装会自动的生成sys用户和system用户:

(1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install

(2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager

(3)一般讲,对数据库维护,使用system用户登录就可以拉

也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。

二: Oracle的基本使用--基本命令

sql*plus的常用命令

连接命令

1.conn[ect]

用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper

2.disc[onnect]

说明: 该命令用来断开与当前数据库的连接

3.psssw[ord]

说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用

sys/system登录。

4.show user

说明: 显示当前用户名

5.exit

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

文件操作命令

1.start和@

说明: 运行sql脚本

案例: sql>@ d:\a.sql或是sql>start d:\a.sql

2.edit

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

案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开

3.spool

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

案例: sql>spool d:\b.sql 并输入 sql>spool off

交互式命令

1.&

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

select * from emp where job='&job';

2.edit

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

案例:SQL>edit d:\a.sql

3.spool

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

spool d:\b.sql 并输入 spool off

显示和设置环境变量

概述:可以用来控制输出的各种格式,set show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本

1.linesize

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

show linesize

set linesize 90

2.pagesize说明:设置每页显示的行数目,默认是14

用法和linesize一样

至于其它环境参数的使用也是大同小异

三:oracle用户管理

oracle用户的管理

创建用户

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

create user 用户名identified by 密码; (oracle有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户)

给用户修改密码

概述:如果给自己修改密码可以直接使用

password 用户名

如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限

SQL> alter user 用户名identified by 新密码

删除用户

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

比如drop user 用户名【cascade】

在删除用户时,注意:

如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade;

用户管理的综合案例

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

为了给讲清楚用户的管理,这里我给大家举一个案例。

SQL> conn xiaoming/m12;

ERROR:

ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到ORACLE。

SQL> show user;

USER 为""

SQL> conn system/p;

已连接。

SQL> grant connect to xiaoming;

授权成功。

SQL> conn xiaoming/m12; //后面的为密码分开来输入。

已连接。

SQL>

注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。。看图:

现在说下对象权限,现在要做这么件事情:

* 希望xiaoming用户可以去查询emp表

* 希望xiaoming用户可以去查询scott的emp表

grant select on emp to xiaoming

* 希望xiaoming用户可以去修改scott的emp表

grant update on emp to xiaoming

* 希望xiaoming用户可以去修改/删除,查询,添加scott的emp表

grant all on emp to xiaoming

* scott希望收回xiaoming对emp表的查询权限

revoke select on emp from xiaoming

//对权限的维护。

* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限继续给别

人。

--如果是对象权限,就加入with grant option

grant select on emp to xiaoming with grant option

我的操作过程:

SQL> conn scott/tiger;

已连接。

SQL> grant select on scott.emp to xiaoming with grant option;

授权成功。

SQL> conn system/p;

已连接。

SQL> create user xiaohong identified by m123;

用户已创建。

SQL> grant connect to xiaohong;

授权成功。

SQL> conn xiaoming/m12;

已连接。

SQL> grant select on scott.emp to xiaohong;

授权成功。

--如果是系统权限。

system给xiaoming权限时:

grant connect to xiaoming with admin option

问题:如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?

答案:被回收。

下面是我的操作过程:

SQL> conn scott/tiger;

已连接。

SQL> revoke select on emp from xiaoming;

撤销成功。

SQL> conn xiaohong/m123;

已连接。

SQL> select * from scott.emp;

select * from scott.emp

第1 行出现错误:

ORA-00942: 表或视图不存在

结果显示:小红受到诛连了。

使用profile管理用户口令

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

1.账户锁定

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

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

SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

SQL> alter user scott profile lock_account;

2.给账户(用户)解锁

SQL> alter user tea account unlock;

3.终止口令

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

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

SQL> create profile myprofile limit password_life_time 10 password_grace_time 2;

SQL> alter user tea profile myprofile;

口令历史

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

例子:

1)建立profile

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

password_reuse_time //指定口令可重用时间即10天后就可以重用

2)分配给某个用户

删除profile

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

SQL> drop profile password_history 【casade】

注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。

加了casade,就会把级联的相关东西也给删除掉

四:oracle表的管理(数据类型,表创建删除,数据CRUD操作)

oracle的表的管理

表名和列的命名规则

?必须以字母开头

?长度不能超过30个字符

?不能使用oracle的保留字

?只能使用如下字符 A-Z,a-z,0-9,$,#等

oracle支持的数据类型

字符类

char定长最大2000个字符。

例子:char(10) …小韩?前四个字符放…小韩?,后添6个空格补全如…小韩?

varchar2(20)变长最大4000个字符。

例子:varchar2(10)…小韩? oracle分配四个字符。这样可以节省空间。

clob(character large object) 字符型大对象最大4G

char 查询的速度极快浪费空间,查询比较多的数据用。

varchar 节省空间

数字型

number范围 -10的38次方到 10的38次方

可以表示整数,也可以表示小数

number(5,2)

表示一位小数有5位有效数,2位小数

范围:-999.99到999.99

number(5)

表示一个5位整数

范围99999到-99999

日期类型

date 包含年月日和时分秒 oracle默认格式 1-1月-1999

timestamp 这是oracle9i对date数据类型的扩展。可以精确到毫秒。

图片

blob 二进制数据可以存放图片/声音 4G 一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放图片、视频的路径,如果安全需要比较高的话,则放入数据库。

怎样创建表

建表

--学生表

create table student ( ---表名

xh number(4), --学号

xm varchar2(20), --姓名

sex char(2), --性别

birthday date, --出生日期

sal number(7,2) --奖学金

);

--班级表

CREATE TABLE class(

classId NUMBER(2),

cName VARCHAR2(40)

);

修改表

添加一个字段

SQL>ALTER TABLE student add (classId NUMBER(2));

修改一个字段的长度

SQL>ALTER TABLE student MODIFY (xm VARCHAR2(30));

修改字段的类型/或是名字(不能有数据)不建议做

SQL>ALTER TABLE student modify (xm CHAR(30));

删除一个字段不建议做(删了之后,顺序就变了。加就没问题,应为是加在后面)

SQL>ALTER TABLE student DROP COLUMN sal;

修改表的名字很少有这种需求

SQL>RENAME student TO stu;

删除表

SQL>DROP TABLE student;

添加数据

所有字段都插入数据

INSERT INTO student VALUES ('A001', '张三', '男', '01-5月-05', 10); oracle中默认的日期格式‘dd-mon-yy’ dd日子(天) mon 月份 yy 2位的年‘09-6月-99’ 1999年6月9日

修改日期的默认格式(临时修改,数据库重启后仍为默认;如要修改需要修改注册表)

ALTER SESSION SET NLS_DATE_FORMAT ='yyyy-mm-dd';

修改后,可以用我们熟悉的格式添加日期类型:

INSERT INTO student VALUES ('A002', 'MIKE', '男', '1905-05-06', 10); 插入部分字段

INSERT INTO student(xh, xm, sex) VALUES ('A003', 'JOHN', '女');

插入空值

INSERT INTO student(xh, xm, sex, birthday) VALUES ('A004', 'MARTIN', '男', null);

问题来了,如果你要查询student表里birthday为null的记录,怎么写sql 呢?

错误写法:select * from student where birthday = null;

正确写法:select * from student where birthday is null;

如果要查询birthday不为null,则应该这样写:

select * from student where birthday is not null;

修改数据

修改一个字段

UPDATE student SET sex = '女' WHERE xh = 'A001';

修改多个字段

UPDATE student SET sex = '男', birthday = '1984-04-01' WHERE xh = 'A001'; 修改含有null值的数据

不要用 = null 而是用 is null;

SELECT * FROM student WHERE birthday IS null;

删除数据

DELETE FROM student;

删除所有记录,表结构还在,写日志,可以恢复的,速度慢。

Delete 的数据可以恢复。

savepoint a; --创建保存点

DELETE FROM student;

rollback to a; --恢复到保存点

一个有经验的DBA,在确保完成无误的情况下要定期创建还原点。

DROP TABLE student; --删除表的结构和数据;

delete from student WHERE xh = 'A001'; --删除一条记录;

truncate TABLE student; --删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

五:oracle表查询(1)

oracle表基本查询

介绍

在我们讲解的过程中我们利用scott用户存在的几张表(emp,dept)为大家演示如何使用select 语句,select语句在软件编程中非常有用,希望大家好好的掌握。

emp 雇员表

clerk 普员工

salesman 销售

manager 经理

analyst 分析师

president 总裁

mgr 上级的编号

hiredate 入职时间

sal 月工资

comm 奖金

deptno 部门

dept部门表

deptno 部门编号

accounting 财务部

research 研发部

operations 业务部

loc 部门所在地点

salgrade 工资级别

grade 级别

losal 最低工资

hisal 最高工资

简单的查询语句

查看表结构

DESC emp;

查询所有列

SELECT * FROM dept;

切忌动不动就用select *

SET TIMING ON; 打开显示操作时间的开关,在下面显示查询时间。

CREATE TABLE users(userId V ARCHAR2(10), uName V ARCHAR2 (20), uPassw

V ARCHAR2(30));

INSERT INTO users V ALUES('a0001', '啊啊啊啊', 'aaaaaaaaaaaaaaaaaaaaaaa');

--从自己复制,加大数据量大概几万行就可以了可以用来测试sql语句执行效率INSERT INTO users (userId,UNAME,UPASSW) SELECT * FROM users;

SELECT COUNT (*) FROM users;统计行数

查询指定列

SELECT ename, sal, job, deptno FROM emp;

如何取消重复行DISTINCT

SELECT DISTINCT deptno, job FROM emp;

查询SMITH所在部门,工作,薪水

SELECT deptno,job,sal FROM emp WHERE ename = 'SMITH';

注意:oracle对内容的大小写是区分的,所以ename='SMITH'和ename='smith'是不同的

使用算术表达式 nvl null

问题:如何显示每个雇员的年工资?

SELECT sal*13+nvl(comm, 0)*13 "年薪" , ename, comm FROM emp;

使用列的别名

SELECT ename "姓名", sal*12 AS "年收入" FROM emp;

如何处理null值

使用nvl函数来处理

如何连接字符串(||)

SELECT ename || ' is a ' || job FROM emp;

使用where子句

问题:如何显示工资高于3000的员工?

SELECT * FROM emp WHERE sal > 3000;

问题:如何查找1982.1.1后入职的员工?

SELECT ename,hiredate FROM emp WHERE hiredate >'1-1月-1982';

问题:如何显示工资在2000到3000的员工?

SELECT ename,sal FROM emp WHERE sal >=2000 AND sal <= 3000;

如何使用like操作符

%:表示0到多个字符_:表示任意单个字符

问题:如何显示首字符为S的员工姓名和工资?

SELECT ename,sal FROM emp WHERE ename like 'S%';

如何显示第三个字符为大写O的所有员工的姓名和工资?

SELECT ename,sal FROM emp WHERE ename like '__O%';

在where条件中使用in

问题:如何显示empno为7844, 7839,123,456 的雇员情况?

SELECT * FROM emp WHERE empno in (7844, 7839,123,456);

使用is null的操作符

问题:如何显示没有上级的雇员的情况?

错误写法:select * from emp where mgr = '';

正确写法:SELECT * FROM emp WHERE mgr is null;

六:oracle表查询(2)

使用逻辑操作符号

问题:查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?

SELECT * FROM emp WHERE (sal >500 or job = 'MANAGER') and ename LIKE 'J%';

使用order by 字句默认asc

问题:如何按照工资的从低到高的顺序显示雇员的信息?

SELECT * FROM emp ORDER by sal;

问题:按照部门号升序而雇员的工资降序排列

SELECT * FROM emp ORDER by deptno, sal DESC;

使用列的别名排序

问题:按年薪排序

select ename, (sal+nvl(comm,0))*12 "年薪" from emp order by "年薪" asc;

别名需要使用“”号圈中,英文不需要“”号

分页查询

等学了子查询再说吧。。。。。。。。

Clear 清屏命令

oracle表复杂查询

说明

在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,现在我们给大家介绍较为复杂的select语句

数据分组——max,min,avg,sum,count

问题:如何显示所有员工中最高工资和最低工资?

SELECT MAX(sal),min(sal) FROM emp e;

最高工资那个人是谁?

错误写法:select ename, sal from emp where sal=max(sal);

正确写法:select ename, sal from emp where sal=(select max(sal) from emp);

注意:select ename, max(sal) from emp;这语句执行的时候会报错,说ORA-00937:非单组分组函数。因为max是分组函数,而ename不是分组函数.......

但是select min(sal), max(sal) from emp;这句是可以执行的。因为min和max都是分组函数,就是说:如果列里面有一个分组函数,其它的都必须是分组函数,否则就出错。这是语法规定的问题:如何显示所有员工的平均工资和工资总和?

问题:如何计算总共有多少员工问题:如何

扩展要求:

查询最高工资员工的名字,工作岗位

SELECT ename, job, sal FROM emp e where sal = (SELECT MAX(sal) FROM emp);

显示工资高于平均工资的员工信息

SELECT * FROM emp e where sal > (SELECT AVG(sal) FROM emp);

group by 和having子句

group by用于对查询的结果分组统计,

having子句用于限制分组显示结果。

问题:如何显示每个部门的平均工资和最高工资?

SELECT A VG(sal), MAX(sal), deptno FROM emp GROUP by deptno;

(注意:这里暗藏了一点,如果你要分组查询的话,分组的字段deptno一定要出现在查询的列表里面,否则会报错。因为分组的字段都不出现的话,就没办法分组了)

问题:显示每个部门的每种岗位的平均工资和最低工资?

SELECT min(sal), A VG(sal), deptno, job FROM emp GROUP by deptno, job;

问题:显示平均工资低于2000的部门号和它的平均工资?

SELECT A VG(sal), MAX(sal), deptno FROM emp GROUP by deptno having A VG(sal) < 2000;

对数据分组的总结

1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)

2 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by

3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。

如SELECT deptno, A VG(sal), MAX(sal) FROM emp GROUP by deptno HA VING A VG(sal) < 2000;

这里deptno就一定要出现在group by 中

多表查询

说明

多表查询是指基于两个和两个以上的表或是视图的查询。在实际应用中,查询单个表可能不能满足你的需求,(如显示sales部门位置和其员工的姓名),这种情况下需要使用到(dept 表和emp表)

问题:显示雇员名,雇员工资及所在部门的名字【笛卡尔集】?

规定:多表查询的条件是至少不能少于表的个数-1 才能排除笛卡尔集

(如果有N张表联合查询,必须得有N-1个条件,才能避免笛卡尔集合)

SELECT e.ename, e.sal, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;

问题:显示部门号为10的部门名、员工名和工资?

SELECT d.dname, e.ename, e.sal FROM emp e, dept d WHERE e.deptno = d.deptno and e.deptno = 10;

问题:显示各个员工的姓名,工资及工资的级别?

先看salgrade的表结构和记录

SQL>select * from salgrade;

GRADE LOSAL HISAL

------------- ------------- ------------

1 700 1200

2 1201 1400

3 1401 2000

4 2001 3000

5 3001 9999

SELECT e.ename, e.sal, s.grade FROM emp e, salgrade s WHERE e.sal BETWEEN s.losal AND s.hisal;

扩展要求:

问题:显示雇员名,雇员工资及所在部门的名字,并按部门排序?

SELECT e.ename, e.sal, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno ORDER by e.deptno;

(注意:如果用group by,一定要把e.deptno放到查询列里面)

自连接

自连接是指在同一张表的连接查询

问题:显示某个员工的上级领导的姓名?

比如显示员工…FORD?的上级

SELECT worker.ename, boss.ename FROM emp worker,emp boss WHERE worker.mgr = boss.empno AND worker.ename = 'FORD';

子查询

什么是子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。

单行子查询

单行子查询是指只返回一行数据的子查询语句

请思考:显示与SMITH同部门的所有员工?

思路:

1 查询出SMITH的部门号

select deptno from emp WHERE ename = 'SMITH';

2 显示

SELECT * FROM emp WHERE deptno = (select deptno from emp WHERE ename = 'SMITH'); 数据库在执行sql 是从左到右扫描的,如果有括号的话,括号里面的先被优先执行。

多行子查询

多行子查询指返回多行数据的子查询

请思考:如何查询和部门10的工作相同的雇员的名字、岗位、工资、部门号

SELECT DISTINCT job FROM emp WHERE deptno = 10;

SELECT * FROM emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno = 10);

(注意:不能用job=..,因为等号=是一对一的)

在多行子查询中使用all操作符

问题:如何显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号?SELECT ename, sal, deptno FROM emp WHERE sal > all (SELECT sal FROM emp WHERE deptno = 30);

扩展要求:

大家想想还有没有别的查询方法。

SELECT ename, sal, deptno FROM emp WHERE sal > (SELECT MAX(sal) FROM emp WHERE deptno = 30);

执行效率上,函数高得多

在多行子查询中使用any操作符

问题:如何显示工资比部门30的任意一个员工的工资高的员工姓名、工资和部门号?SELECT ename, sal, deptno FROM emp WHERE sal > ANY (SELECT sal FROM emp WHERE deptno = 30);

扩展要求:

大家想想还有没有别的查询方法。

SELECT ename, sal, deptno FROM emp WHERE sal > (SELECT min(sal) FROM emp WHERE deptno = 30);

多列子查询

单行子查询是指子查询只返回单列、单行数据,多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询是指查询返回多个列数据的子查询语句。

请思考如何查询与SMITH的部门和岗位完全相同的所有雇员。

SELECT deptno, job FROM emp WHERE ename = 'SMITH';

SELECT * FROM emp WHERE (deptno, job) = (SELECT deptno, job FROM emp WHERE

ename = 'SMITH');

在from子句中使用子查询

请思考:如何显示高于自己部门平均工资的员工的信息

思路:

1. 查出各个部门的平均工资和部门号

SELECT deptno, A VG(sal) mysal FROM emp GROUP by deptno;

2. 把上面的查询结果看做是一张子表

SELECT e.ename, e.deptno, e.sal, ds.mysal FROM emp e, (SELECT deptno, A VG(sal) mysal FROM emp GROUP by deptno) ds WHERE e.deptno = ds.deptno AND e.sal > ds.mysal;

如何衡量一个程序员的水平?

网络处理能力,数据库,程序代码的优化程序的效率要很高

小总结:

在这里需要说明的当在from子句中使用子查询时,该子查询会被作为一个视图来对待,因此叫做内嵌视图,当在from子句中使用子查询时,必须给子查询指定别名。

注意:别名不能用as,如:SELECT e.ename, e.deptno, e.sal, ds.mysal FROM emp e, (SELECT deptno, A VG(sal) mysal FROM emp GROUP by deptno) as ds WHERE e.deptno = ds.deptno AND e.sal > ds.mysal;

在ds前不能加as,否则会报错(给表取别名的时候,不能加as;但是给列取别名,是可以加as的)

分页查询

按雇员的id号升序取出

oracle的分页一共有三种方式

1.根据rowid来分

select * from t_xiaoxi where rowid in (select rid from (select rownum rn, rid from(select rowid rid, cid from t_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc; 执行时间0.03秒

2.按分析函数来分

select * from (select t.*, row_number() over(order by cid desc) rk from t_xiaoxi t) where

rk<10000 and rk>9980;

执行时间1.01秒

3.按rownum来分

select * from (select t.*,rownum rn from(select * from t_xiaoxi order by cid desc)t where rownum<10000) where rn>9980;

执行时间0.1秒

其中t_xiaoxi为表名称,cid为表的关键字段,取按cid降序排序后的第9981-9999条记录,t_xiaoxi表有70000多条记录。

个人感觉1的效率最好,3次之,2最差。

//测试通过的分页查询okokok

select * from (select a1.*, rownum rn from(select ename,job from emp) a1 where

rownum<=10)where rn>=5;

下面最主要介绍第三种:按rownum来分

1. rownum 分页

SELECT * FROM emp;

2. 显示rownum[oracle分配的]

SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e;

rn相当于Oracle分配的行的ID号

3.挑选出6—10条记录

先查出1-10条记录

SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e WHERE ROWNUM <= 10;

如果后面加上rownum>=6是不行的,

4. 然后查出6-10条记录

SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT * FROM emp) e WHERE ROWNUM <= 10) WHERE rn >= 6;

5. 几个查询变化

a. 指定查询列,只需要修改最里层的子查询

只查询雇员的编号和工资

SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT ename, sal FROM emp) e WHERE ROWNUM <= 10) WHERE rn >= 6;

b. 排序查询,只需要修改最里层的子查询

工资排序后查询6-10条数据

SELECT * FROM (SELECT e.*, ROWNUM rn FROM (SELECT ename, sal FROM emp ORDER by sal) e WHERE ROWNUM <= 10) WHERE rn >= 6;

用查询结果创建新表

这个命令是一种快捷的建表方式

CREATE TABLE mytable (id, name, sal, job, deptno) as SELECT empno, ename, sal, job, deptno FROM emp;

创建好之后,desc mytable;和select * from mytable;看看结果如何?

合并查询

合并查询

有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus

多用于数据量比较大的数据局库,运行速度快。

1). union

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中重复行。SELECT ename, sal, job FROM emp WHERE sal >2500

UNION

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

2).union all

该操作符与union相似,但是它不会取消重复行,而且不会排序。

SELECT ename, sal, job FROM emp WHERE sal >2500

UNION ALL

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中重复行。

3). intersect

使用该操作符用于取得两个结果集的交集。

SELECT ename, sal, job FROM emp WHERE sal >2500

INTERSECT

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

4). minus

使用改操作符用于取得两个结果集的差集,他只会显示存在第一个集合中,而不存在第二个集合中的数据。

SELECT ename, sal, job FROM emp WHERE sal >2500

MINUS

SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';

(MINUS就是减法的意思)

创建数据库有两种方法:

1). 通过oracle提供的向导工具。√

database Configuration Assistant 【数据库配置助手】

2).我们可以用手工步骤直接创建。

七:java操作oracle

java连接oracle

介绍:前面我们一直在plsql中操作oracle,那么如何在java 程序中操作数据库呢?下面我们举例说明,写一个java,分页显示emp表的用户信息。

Java代码

1.package com.sp;

2.

3.import java.sql.Connection;

4.import java.sql.DriverManager;

5.import java.sql.ResultSet;

6.import java.sql.Statement;

7.

8.//演示如何使用 jdbc_odbc桥连接方式

9.public class TestOracle {

10.

11. public static void main(String[] args) {

12. try {

13.

14. // 1.加载驱动

15. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

16.

17. // 2.得到连接

18. Connection ct = DriverManager.getConnection(

19. "jdbc.odbc:testConnectOracle", "scott",

20.

21."tiger");

22.

23. // 从下面开始,和SQL Server一模一样

24. Statement sm = ct.createStatement();

25. ResultSet rs = sm.executeQuery("select * from emp")

;

26. while (rs.next()) {

27. //用户名

28. System.out.println("用户

名: "+rs.getString(2));

29. //默认是从1开始编号的

30. }

31. } catch (Exception e) {

32. e.printStackTrace();

33. }

34. }

35.}

在得到连接那里,要去配置数据源,点击控制面板-->系统和安全-->管理工具-->数据源(ODBC),打开后点添加,如图:

可以看到,有个Oracle in OraDb10g_home1的驱动,它是Oracle安装完后自动加上去的。选中后,点完成,再填如下信息,如图:

这样配好后基本就可以了,但为了安全起见,建议大家测试一下,点击 Test Connection按钮,测试通过后点ok,然后数据源就生成了,如图:

然后把数据源名称写进jdbc.odbc:里。

这里要注意:jdbcodbc能不能远程连接呢?不能远程连接,也就是你这样写的话就意味着java程序和oracle数据库应该是在同一台机器上,因为这里没有指定IP地址,肯定默认就是本地。如果要远程连,就用jdbc,jdbc是可以远程连的。

运行TestOracle.java,控制台输出.......................

CAD Auto最新软件 大全套

最新软件Auto CAD 大全套+天正2013系列软件{安装前请注意查看安装教程说明和cad安装相关问题解决方法} 半包烟/一张面膜的钱,亲们看过就知道,到底不值! 刚刚看到一段子很搞笑,说:公司给每位外籍员工发 了粽子,今天有个老外很感谢地说:“你们发的点心很好吃,谢谢,就是外面的生菜有点硬,不过想的很周到,牙线都准备好了……“ 祝亲:CAD学习愉快! 由于电子资料的可复制性,凡24小时内五星带字好 评后(务必是积极肯定的评语超过30字以上哦)再 赠送余下宝贝详情对应资料(好评后携邮箱号找店主索取,店主不在时直接留言即可),望亲理解!愿本店的宝贝对您有所帮助,欢迎您的再次光临祝您学习进步事业有成!! {由于宝贝价格低廉店主整理又来之不易亲务必五星带字好评哦!生活所迫,有时候不在电脑旁不能及时回复的 还希望亲们理解,下载安装问题请旺旺留言即可,任何不满意的地方请旺旺找店主协商沟通不要随便给予中差评哦没多少钱得个中差评实在不值得店

主诚心想打理好小店望亲们体谅掌柜的苦衷,谢 谢} 注意的问题: 1、进入衔接地址,相关链接。XP系统直接选32位即可,win7 WIN8系统要看自己的电脑属性(右键点击我的电脑—属性),查询到本电脑的操作系统是32位还是64位,然后去下载对应系统位数的CAD 和注册机 2、安装前最好先退出杀毒软件,安全卫士,管家之类软件,以免安装不成功。如果杀毒软件提示并删除注册机,请务必关闭杀毒软件,注册机是激活的插件,安全级别高的杀毒软件会把它误认为删除,放心好了,本软件绝对没毒既然拿出来卖没必要忽悠大家,软件接触多了,道理自然明白。 3、安装请看“图文安装教程说明”和“常见问题汇总与解决方法”(务必看) 4、对先点击相关链接下载即可然后就知道怎么安装,务必先下载哦。对应软件的安装程序、相关注册机以及安装激活教程都有的, 下载页面的右边有下拉滚动条,下载时候可以下拉看 下; 5、当不能直接点击下面链接下载时,请把下面链接复制到浏览器地址栏便可下载; 6、放CAD软件的文件夹的命名不能出现中文,如果是中文的要改为英文或者拼音,安装的路径也一样不能出现中文,否则会安装不成功。

oracle10g期末考试复习提纲

Oracle数据库结构:扬理结构、内存结构、逻辑结构 3.ORACLE数据库物理结构包括哪几类文件,主要作用 参数文件、控制文件(CTL)、日志文件(LOG)、数据丈件(DBF) 参数文件: 1)实例和数据库的配置参数表。 设置内存中的SGA (系统全局区)大小、指定数据库控制文件名称及路径,定艾各种操作 参数等。 2)将初始化参数永久保存在服务器磁盘上。 3)! 4)只在建立数据库或启动实例吋才被访问。 5)是一个可编辑的殳本文件,在修改该文件之前必须关闭实例。 控制文件: 1)至少有一个控制文件,建议两个或两个以上 2)通过控制文件保持数据库完整性以及决定恢复数扌居时使用哪些重做日志。 数据库名称及唯一标识 数据库的创建时间 数据丈件的名称、位置及大小 J 重做日志文件的名称.位置及大小 表空间名称 检查点信息、日志序列号等数据库恢复所需的同步信息。 数据文件:用于存放所有的数据库数扌居.如表、索引等。 1)一个数据文件只与一个数据库相联系;数据丈件大小是动态可以改变的;数据文件结合在一起形成表空间。 2)有两种类型的数据:用户数扌居和系统数損 3)用户数据:用于应用软件的数据,带有应用软件的所有信息。是用户存放在数据库中的信息。 4)系统数据:用来管理用户数扌居和Oracle数据库本身的数据。 ※日志文件: ※重做日志文件:用于记录数抿库的修改操作,可用于数扌居库的恢复。两个或两个以上 日志文件,用于镜像。 £件的配置和大小会影响性能,重做日志与数据文件分开存放。莹做日志文件组以循环 方式进行写操作。 ARCHIVELOG (归档)

当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入 磁盘。 备份吋必选。可自动归档重做日志文件。 是非活动重做日志的备份。 ] 数据库只有处于ArchiveLog模式时才会生成归档日志,并且每次日志切换都会生成归档日志。 执行介质恢复(例如数据文件意外去失),則必须要用到归档日志。 N0ARCHIVEL0G (非归档) 通常默认都为非归档模式。当所有日志纽都写满之后.又回到第一纽之前,该组中原 有数据被覆盖。日志中只保留最后数据。 4.两种内存结构SGA和PGA, SGA的组成,各组成部分的功能。 当数据库服务器上的一个数据库启动时,Oracle将分配一块内存区间,叫做系统全局区(SGA), 并启动一个或多个Oracle后台进程,SGA被所有的后台进程共享。 纽成:DB Buffer> Redo Buffer大共享区、共享池、固定SGA 1)DB Buffer:默认缓存池.保持缓存池、再生缓存池。 ■ 保持缆存池:对于需要在内存中长期保存的频繁访问的数据,在关闭数据库旃一 直保留。 再生壤存池:需要尽快从內存中排除的对象。 煖存池可设定相关大小。 2)共享池:库煖存(共享SQL区、PL/SQL区)、字典缓存区 共享池的规模对数据库性能有重要的影响。 共享SQL区:保留SQL语句的解释版本,以便于再次使用时不再重新解释,提鬲 进程速度。 PL/SQL区:保留PL/SQL的过程、函数等程序单元的编译版本,以便所有用户都 能够共享。 字典绽存区:用于缓存数据字典信息。 3) $ 4)Redo日志缓存区:通过一个日志的书写进程对日志文件进行操作,先进先出。 4)大共享区:选择多线程服务器时需要。 5)固定SGA:不能设定大小,由0racle独立控制。 5.Oracle数据库逻辑结构由几部分组成块、盘、段、表空间、数据文件 关系: 1)表空间与数据文件的对应关系为1: n

AI基础入门详细教程

Adobe Illustrator 第一课 一、控制调板:Alt+W+X(CS3版本/英文版是:Alt+W+C) 工具栏:Alt+W+O 二、矩形:M 按空格键可以移动位置(针对还没有结束编辑) 按Shift做正方形,按Alt保持中心点不变 三、圆角钜形 按左方向键是直角,按右方向键是100%圆角 按上方向键是加大圆角,按下方向键是减圆角 Alt固定中心,shift画正的图形 四、椭圆:L 做图方法同钜形 按Alt 键单击图标同一组工具可以互相转换 选择图标再单击画布可以定大小 五、直线工具:“\” 按shift可以画45度角的倍数的直线 六、选择工具:“V” 1、按Shift键拖动等比缩放,Alt中心不变,shift+Alt是以中心等比缩放 2、双击图标或“V+回车”可准确移动图形;按Tab确定 3、按Alt键可以复制 七、直接选择工具:A 编辑点和线 八、编组选择工具: 1、选择群组中的一个 2、点对点对齐(变白色时证明对齐,必须要把对齐点Alt+Ctrl+“勾上) 按Alt是编组工具与选择工具的转换 九、颜色:F6 填色(“/”为无色) 改变颜色时,描边和填色哪个在上面哪个就被改变 “X”是描边与填色的转换 Shift+“X”描边与填色的颜色转换 “D”是默认的黑色描边,白色填色,描边粗细为1pt 作业:中国银行标志、联想标志 第二课 一、套索工具:Q(选点用的,只是选择点不能编辑) 二、画笔工具:B 画笔面板F5 三、铅笔工具:N 四、旋转工具:R 1、双击图标或按“R+回车”以图形的中心点为旋转轴旋转 2、单击图标或按“R”再单击某个点则以该点为旋转轴(按Alt单击中心可以准确旋转度数) Ctrl+D再制 五、镜像:O 用法同旋转,左右镜像点垂直上下镜像点水平 六、比例缩放:S S+回车会出现对话框可以更改比例 七、改变形状工具:可以修改所有选中图形中的一个;倾料工具 八、钢笔工具:P 按空格可以移点的位置,按Alt键改变控制炳方向,按Shift控制15度方向; 转换锚点工具:Shift+C(单击节点可以转为直线); 加点工具“+”,减点工具“-” 十、置入Alt+F+L 锁定Ctrl+2 解除锁定Alt+Ctrl+2 显示标尺Ctrl+R 作业:奔驰标志、勾图 第三课(文字工具) 一、美工文字T (区域文字、路径文字) 文字面板Ctrl+T

韩顺平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,然后把数据库安装到

oracle10g教程从入门到精通

韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装

Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。 二: Oracle的基本使用--基本命令 sql*plus的常用命令 连接命令 1.conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect] 说明: 该命令用来断开与当前数据库的连接 3.psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用 sys/system登录。 4.show user 说明: 显示当前用户名 5.exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令 1.start和@ 说明: 运行sql脚本 案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit 说明: 该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 3.spool 说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令 1.& 说明:可以替代变量,而该变量在执行时,需要用户输入。 select * from emp where job='&job'; 2.edit 说明:该命令可以编辑指定的sql脚本 案例:SQL>edit d:\a.sql

AI基础知识图文教程--入门知识学习

Al基础知识图文教程--xx知识学习 第一节: Illustrator 简介 知识点: 川ustrator简介及应用领域 IIIustrator 发展史 川ustrator高手你应该掌握哪些知识 川ustrator简介及应用领域 川ustrator是美国Adobe (奥多比)公司出品的重量级矢量绘图软件,是出版、多媒体和网络图像的工业标准插画软件。 Adobe(公司): 始于1982年,目前是广告,印刷、出版和Web领域首屈一指的图形设 计,出版和成像软件设计公司,总部在美国加州圣何塞。 川ustrator将矢量插图,版面设计、位图编辑、图形编辑及绘图工具等多种元素合为一体,广泛地应用于广告平面设计,CI策划、网页设计、插图创作、产品包装设计、商标设计等多个领域。 具不完全统计全球有97%的设计师在使用川ustrator软件进行艺术设计。 Illustrator 发展史 Adobe公司在1987年的时候就推出了Illustrator1.1版本。随后一年,又在Window 平台上推出了2.0版本。Illustrator真正起步应该说是在1988年。 Adobe Illustrator6.0 1996 年 Adobe Illustrator7.0 日文版1997 年

Adobe Illustrator8.0 1998年 Adobe Illustrator 9 2000年 Adobe Illustrator 10 2001 年 Adobe Illustrator 11 2002年 Adobe Illustrator CS2 2003 年 Adobe Illustrator CS3 Adobe Illustrator CS4 2008 年 Adobe Illustrator CS4软件是一个完善的矢量图形环境。 川ustrator高手你应该掌握哪些知识 川ustrator工具,面板总结归纳徒手绘制人物,卡漫,角色创意等Illustraotr在装饰绘画中的运用及实例 Illustraotr制作产品实体及企业标志创意 Illustrator高级排版,海报制作技巧及实例 川ustrator各种印刷品制作技巧 Illustrator在CI策划中的应用技巧 AI与PS的结合使用及各种网页按钮的制作技巧 第二节: 矢量格式和位图格式 知识点: 矢量格式与位图格式的区别及特点:

oracle10g创建数据库的方法

在Oracle中建库,通常有两种方法。一是使用Oracle的建库工具DBCA,这是一个图形界面工具,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。在Windows系统中,这个工具可以在Oracle程序组中打开(‖开始‖—―程序‖—― Oracle - OraDb10g_home1‖—― Configuration and Migration Tools‖—― Database Configuration Assistant‖),也可以在命令行(‖开始‖—―运行‖—―cmd‖)工具中直接输入dbca来打开。另一种方法就是手工建库,下面我会一一举例说明。 第一:手工建库 手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括: 1、创建必要的相关目录 2、创建初始化参数文件 3、设置环境变量Oracle_sid 4、创建实例 5、创建口令文件 6、启动数据库到nomount(实例)状态 7、执行建库脚本 8、执行catalog脚本创建数据字典 9、执行catproc创建package包 10、执行pupbld 11、由初始化参数文件创建spfile文件 12、执行scott脚本创建scott模式 做完了以上的步骤之后就可以使用―SQL>alter database open;‖打开数据库正常的使用了。下面,我将具体地把以上的几个步骤用实验展开来讲。 实验系统平台:Windows XP 数据库系统版本:Oracle Database 10G Oracle的安装路径:D盘创建的数据库名称:book 1、打开命令行工具,创建必要有相关目录 C:/>mkdir D:/oracle/product/10.2.0/admin/book

AI基础入门详细教程

精品 Adobe Illustrator 第一课 一、控制调板:Alt+W+X(CS3版本/英文版是:Alt+W+C) 工具栏:Alt+W+O 二、矩形:M 按空格键可以移动位置(针对还没有结束编辑) 按Shift做正方形,按Alt保持中心点不变 三、圆角钜形 按左方向键是直角,按右方向键是100%圆角 按上方向键是加大圆角,按下方向键是减圆角 Alt固定中心,shift画正的图形 四、椭圆:L 做图方法同钜形 按Alt 键单击图标同一组工具可以互相转换 选择图标再单击画布可以定大小 五、直线工具:“\” 按shift可以画45度角的倍数的直线 六、选择工具:“V” 1、按Shift键拖动等比缩放,Alt中心不变,shift+Alt是以中心等比缩放 2、双击图标或“V+回车”可准确移动图形;按T ab确定 3、按Alt键可以复制 七、直接选择工具:A 编辑点和线 八、编组选择工具: 1、选择群组中的一个 2、点对点对齐(变白色时证明对齐,必须要把对齐点Alt+Ctrl+“勾上) 按Alt是编组工具与选择工具的转换 九、颜色:F6 填色(“/”为无色) 改变颜色时,描边和填色哪个在上面哪个就被改变 “X”是描边与填色的转换 Shift+“X”描边与填色的颜色转换 “D”是默认的黑色描边,白色填色,描边粗细为1pt 作业:中国银行标志、联想标志 第二课 一、套索工具:Q(选点用的,只是选择点不能编辑) 二、画笔工具:B 画笔面板F5 三、铅笔工具:N 四、旋转工具:R 1、双击图标或按“R+回车”以图形的中心点为旋转轴旋转 2、单击图标或按“R”再单击某个点则以该点为旋转轴(按Alt单击中心可以准确旋转度数) Ctrl+D再制 五、镜像:O 用法同旋转,左右镜像点垂直上下镜像点水平 六、比例缩放:S S+回车会出现对话框可以更改比例 七、改变形状工具:可以修改所有选中图形中的一个;倾料工具 八、钢笔工具:P 按空格可以移点的位置,按Alt键改变控制炳方向,按Shift控制15度方向; 转换锚点工具:Shift+C(单击节点可以转为直线); 加点工具“+”,减点工具“-” 十、置入Alt+F+L 锁定Ctrl+2 解除锁定Alt+Ctrl+2 显示标尺Ctrl+R 作业:奔驰标志、勾图 第三课(文字工具) 一、美工文字T (区域文字、路径文字) 文字面板Ctrl+T

透视画法

成角透视及其运用 第一节成角透视原理及画法 ?成角透视的定义:画面物体(概括成方体)一个角对着画 者,左右侧面向视平线的两个距点或余点小时的现象就叫做成角透视。 成角透视主要特点(以成角透视立方体为例) ● 1.边棱呈两种状态,有一种原线——垂直边,有一种变线——成角边,分左右两组。 ● 2.产生两个灭点——余点,是左右两组纵深成角边的灭点,故称二点透视。两个余点在心点两侧的视平线上形成,由于观察角度的变化,决定了成角透视的余点在视平线上的位置是可移的(两个余点位置的制约关系,请参阅教材成角透视的特点(3)与(4))。 ● 3.立方体各个平面都含有成角边,都发生形变,左右成角边与画面成角互为90°余角(又称余角透视),两个侧立面,成角大的一侧离余点近,缩得窄;而另一侧成角小离余点远,展得宽;水平面离视平线近窄远宽,与视平线相贴时被压缩为水平直线。 平置正方形成角透视的原理: ●1、平置正方形的透视形四边消失于两距点。 ●2、地位左右不同的透视变化:近角正对画者时透视左右对称,远 近两角都在视垂线上。在画左右两侧时,透视形里狭长,远角向心偏斜。 ●3、地位高低不同的透视变化,比画者眼高时,越低越扁平,比画 者眼低时,越高越扁平。最后形成一水平线与视平线重叠。 ●4、地位远近不同的透视变化,越远越小,比画者眼高时,越远越 低;比画者眼低时,越远越高,最后,接近视平线。 平置正方形成角透视的画法: ●1先画出视平线和视垂线,确定心点,距点1和距点2,基线等。 ●2画出正方形平视图,设四角为ABCD。A角与画面相接。DB引垂直画面得db线。 ●3将db线定于基线上,A点边在基线上。 ●4由A点引透视线向距点1和距点2及心点消失。d,b点引透视线向心点消失,得 D',B'两交点。再由B'点引透视线向距点1消失。D'点向距点2消失得C 点。即画成ABCD正方形的成角透视图。

word2007从入门到精通视频教程

Word2007从入门到精通视频教程! 第一章Word2007概述1.1Word2007概述 1.3初体验-功能区 1.5初体验-额外选项卡 1.7初体验-软件操作的快捷方式 1.2Word的启动与退出及第一印象 1.4初体验-对话框启动器 1.6初体验-浮动工具栏第二章文档的基本操作 2.1创建新文档 2.3打开文档 2.2输入文本、保存文档第三章Word2007的编辑技术 3.1选择文本 3.3查找文本 3.5撤销和恢复 3.2删除、复制、移动文本

3.4替换文本第四章Word2007排版技术 4.1字符格式化设置 4.2.2设置段落行距与间距 4.3添加边框和底纹 4.5使用格式刷 4.2.1设置段落对齐方式 4.2.3设置段落缩进 4.4项目符号和编号 4.6样式的使用第五章表格操作 5.1插入表格 5.3修改表格 5.4.2设置行、列、表格属性 5.2应用表格样式 5.4.1设置单元格属性 5.5排序和数字计算第六章使用图形对象 6.1.1插入图片 6.1.3修改图片属性2 6.3插入艺术字 6.5插入符号 6.6.2插入超链接、首字下沉、文件中的文字

6.1.2修改图片属性1 6.2插入文本框 6.4插入时间 6.6.1插入剪贴画和形状第七章页面设置 7.1.1插入相同的页眉或页脚 7.1.3设置首页不同、奇偶页不同 7.3分栏设置 7.5设置页边距和装订边距 7.1.2将页眉保存到库中 7.2页码操作 7.4设置纸张方向和大小第八章关于功能区的其他选项卡的介绍8.1引用选项卡和邮件选项卡 8.2审阅选项卡第九章Word2007新功能及实用技巧9.1博客撰写与发布功能 9.3创建文档封面 9.5.1插入数据图表1

ai的基础教程入门

第一课(1-3节) 一、软件介绍: Illustrator英译:插画 它集图形设计、文字编辑及高品质输出于一体的矢量图形软件,广泛应用于平面广告设计、网页图形制作、插画制作及艺术效果处理等诸多领域。 基本术语和概念: (1)矢量图:是按数学方法由postscript代码定义的线条和曲线组成的图形,文件小,文件保存线条和图块的颜色信息,可以无极缩放,文件大小与图形复杂程度有关。 (2)位图(像素图、栅格图):由排列在一起的栅格组成的,每一个栅格代表一个像素点,每一个像素点只能显示一种颜色。文件所占空间大,文件放大到一定的倍数后会产生锯齿,文件大小与分辩率有关,适宜表现连续调的图片。 二、软件窗口界面介绍: (1)标题栏(软件标题、文件标题) (2)菜单栏(10个) (3)设置栏(所用工具或所选的图形不同出现不同功能设置) (4)工具箱 (5)绘图窗口(打印区域和非打印区域) (6)面板窗(配合工具完成强大的AI功能) (7)状态栏(显示比例、状态提示、滚动窗口) 三、文件窗口缩放显示及位移 (1)导航器面板:改变图形窗口的大小及显示位置 (2)缩放(Z)和手形工具(H):放大和缩小图形,以及图形在窗口中的显示位置。 ★双击“手形工具”实现满画布显示;双击“缩放工具”实现100%画面显示;Ctrl++放大显示、Ctrl+-缩小显示、Ctrl+0满画布显示、选择任何一个工具箱中的工具,按下空格键暂时切换为抓手工具

四、选择工具及选择命令详解(一) 1、选择工具: (1)选择工具(V,黑箭头):选择绘图窗口中的图形图像。 使用方法: 单选,单击所选物体即为选中,在被选图形以外单击取消选择; 多选,Shift+单击,圈选; 还可以移动图形,按Alt复制图形,按Shift+Alt水平或垂直复制图形,并可以缩放和旋转图形,按Shift等比缩放,按Shift键45度角倍数旋转。 五、基本绘图工具一 (1)直线工具: 使用方法,单击鼠标左键不放确定线段第一个控制点,拖动鼠标到适当位置释放鼠标确定线段第二个控制点。 (Shift绘制水平或垂直及45度角的直线段,Alt绘制以鼠标落点为中心的线段,在拖动鼠标未确定第二个控制点,同时按下空格键,可以移动绘制图形位置,以上快捷方式适用于AI 所有绘图工具) 精确绘制线段,选择直线工具在页面中单击鼠标左键调出“直线段工具设置”对话框进行数据设置。(在绘制过程中按~键可以绘制放射线段。) (2)弧线工具:基本同上,绘制过程中按F键进行弧线方向的转换,C键进行开放和闭合的转换。 (3)螺旋线工具:基本同上,绘制过程中按光标上下键进行增圈和减圈设置。 (4)矩形网格工具:可以绘制简单的表格图形(通过解组及调整也可得到不规则的表格)(5)极坐标网格工具:可以将平面网格极坐标化,通过设置框可以精确圈数和隔线数量。(练习题:绘制蝴蝶图形) 第二课(4-6节)

《VR网球2009》技术指导 从入门到精通指南

《VR网球2009》技术指导从入门到精通指南VR网球系列也玩了有2年了,VT2009面世之后,有很多新接触VT系列的玩家都开始尝试这款游戏。因为网球在中国的普及率实在算不上高,很多玩家甚至对网球这项运动本身都没什么了解,于是问题是一个接一个的出现。为了让大家更好地了解VR网球,更好地在游戏中找到快感,在下结合自己玩VR网球这些年的经验,斗胆为大家整理出一套相对比较系统的练习教程,供大家参考。 一、前言 首先,这部教程并非仅针对于VT2009,鉴于VT3和VT2009的操作方式如出一辙,这套教程同样适用于VT3。 其次,是本文牵涉到的一些术语: TOP SPIN:抽击 SLICE:切球 LOB:高球 Volley:截击 Smash:扣杀 Angle:角度 Drop xxx:小球,主要分两种,Drop Shot和Drop Volley,区别在于前者是在底线击球,后者是在网前截击,回击的效果类似,球的落点都在发球区以内,弹跳高度很低。但是这两者的打法是不一样的,后面会有详细叙述。 二、基本教程 1.发球篇 发球无外乎2个要素:速度和角度。速度很简单,发球时MAX即可。这个需要手感的积累,多加练习会熟悉的。 重点来说下角度,看下图,发球的最佳落点是图中2个黄圈处,左边的称为“外角”,

右边的称为“内角”。发球发到内角,球速会打到最大,而发到外角速度会有10KM/H左右的衰减。 一般情况下都是发内角球,在蓄力条出现,蓄力到大概1/4左右时就可以开始按方向键了(因人而异,并不是每个球员都是如此,不同的球员方向键按下的时机都略有区别)。 最理想的情况就是压线+MAX,如果此时有210KM/H以上的球速,90%会是一个ACE球,即使对手救到球也有很大可能会OUT。在自己的发球局,强力的发球是最好的武器,切记! 关于下手发球(Drop Serve):“下”+LOB,很多人都知道这个发球方式,但是实用性一般,除非你是发球上网的达人,这招还是不要用了,很可能被对手在网前打出一记斜线抽击直接丢分。 2.底线技术 底线技术的核心就是预判跑位,及时、准确的跑位能确保自己的回击力量和角度兼备。在这里,底线技术主要讲2种技术——Angle Shot和Drop Shot。 先说Angle Shot,这是底线技术中十分重要的一项技术,顾名思义,这种回球是注重角度的变化,怎么变化呢?还是看图。

Oracle10g数据库选择题翻译 答案

第3章创建数据库 (1)后台进程跟踪文件的位置是C A.LOGFILE_DEST B.ORACLE_HOME C.BACKGROUND_DUMP_DEST D.CORE_DUMP_DEST (2)手动创建数据库的第一步是D A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 (3)关于控制文件以下正确的是A A.Oracle建议至少二个控制文件存放在二个磁盘分区 B.Oracle建议至少二个控制文件存放在一个磁盘分区 C.Oracle建议存放一个控制文件 D.一个控制文件不足以运行数据库 (4)执行CREATE DA TABASE命令之前,应该发出的命令是B A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 (5)创建数据库时,Oracle如何得知需要创建的控制文件信息?A A.从初始化参数文件 B.从CREATE DATABASE 命令 C.从环境变量 D.从$ORACLE_HOME目录名为.ctl的文件 (6)哪个脚本文件创建数据字典视图?A A.catalog.sql B.catproc.sql C.sql.sql D.dictionary.sql (7)创建数据库时,DATAFILE子句能定义几个数据文件?D A.一个 B.二个 C.多个;仅一个属于系统表空间 D.多个;都属于系统表空间 (8)谁拥有数据字典?A A.SYS B.SYSTEM C.DBA D.ORACLE (9)在CREATE DA TABASE命令中,非法子句是B A.MAXLOGMEMBERS B.MAXLOGGROUPS C.MAXDATAFILES D.MAXLOGHISTORY (10)创建一个数据库至少需要几个控制文件?A

Unity3D游戏开发教程-Unity3D游戏引擎实战开发从入门到精通

unity3d游戏开发教程-Unity3D游戏引擎实战开发从入门到精通(坦克大战项目实战、NGUI开发、GameObject) 一、Unity3D游戏引擎实战开发从入门到精通课程是怎么样的一门课程(全面介绍) 1.1、unity3d游戏开发教程课程的背景现如今游戏已经成为了人们生活中不可或缺的一部分。不经意间,你在公交上,在地铁里,在商场中,办公室里,都可以看到各式各样的人在用不同的途径玩着各种各样的游戏。可以说,游戏是一个前景非常美好的行业。有PC端的玩家,有网页端的玩家,也有移动端的玩家。他们可以通过不同的途径来娱乐自己喜欢的游戏,走到哪里,都可以看到这些已经渗入到人们的生活里了。那么从程序的角度,要实现这些不同平台的互通,我们要怎么实现呢?如何通过一次编码,全平台运行呢?Unity3D就是本着这样的需求而诞生的。 unity3d游戏开发教程,Unity3D可以让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。已经实现了跨平台。可以在移动端,pc端和网页端互通了。一次编码,发布不同平台就可以了。所以现在Unity3D 也成为开发人员的首选编程语言了。其制作3D游戏,也就分分钟的问题。非常的方便。易懂易学。通过Unity简单的用户界面,玩家可以完成任何工作。这些为玩家节省了大量的时间。 所以本unity3d游戏开发教程课程将通过实例来讲解Unity3D的开发过程。由浅入深的,让学者快速的掌握Unity3D开发的要领及Unity3D的知识点。达到快速开发的目的。 1.2、Unity3D游戏引擎实战开发从入门到精通课程内容简介:unity3d游戏开发教程由浅入深的介绍Unity3D的开发流程。从软件使用到API接口的使用,从成品到优化。介绍整个Unity3D的基本开发过程及开发中碰到的基础问题进行深入讲解。对代码重构及代码优化做出示例,让学员能逐步的了解Unity3D开发的注意点。讲解Unity3D软件界面的使用,Unity3D组件的介绍,使用C#编写Unity3D 及Unity3D GUI(NGUI)的介绍和游戏简单AI的编写,让学员能够把握Unity3D开发的方向,成为一名合格的游戏开发人员。 1.3、Unity3D游戏引擎实战开发从入门到精通课程大纲: unity3d游戏开发教程第一讲:Unity3D引擎初识 unity3d游戏开发教程第二讲:GameObject认识 unity3d游戏开发教程第三讲:Unity3D组件添加一 unity3d游戏开发教程第四讲:Unity3D组件添加二 unity3d游戏开发教程第五讲:Unity3D组件添加三 unity3d游戏开发教程第六讲:资源的导入及预制 unity3d游戏开发教程第七讲:游戏地形的制作 unity3d游戏开发教程第八讲:NGUI三讲之第一讲 unity3d游戏开发教程第九讲:NGUI三讲之第二讲第十讲:NGUI三讲之第三讲第十一讲:Unity3D 实例预热第十二讲:实例-坦克组装一 unity3d游戏开发教程第十三讲:实例-坦克组装二第十四讲:实例-敌方AI一第十五讲:实例-敌方AI二第十六讲:实例-场景界面UI制作 unity3d游戏开发教程第十七讲:实例-游戏结束界面第十八讲:实例-游戏环境设置 unity3d游戏开发教程第十九讲:实例-游戏的发布

oracle10g的3个配置文件详解

listener.ora、tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,都是放在oracle\product\10.2.0\db_1\NETWORK\ADMIN目录下。其中listener.ora 是和数据库服务器端相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密(#表注释)。 一、客户端设置 1.sqlnet.ora 通过这个文件来决定怎样找一个连接中出现的连接字符串 示例文件: SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES,EZCONNECT) #NAMES.DEFAULT_DOMAIN = https://www.doczj.com/doc/1616793873.html, 内容说明: #表明用户连接数据库用哪种验证方式主要两种: (1)NTS: 表示系统身份验证 ---用户名和口令可输可不输conn / as sys dba; (2)NONE:oralce数据库身份验证--- 必须输入用户名和口令 conn system/oracle as sysdba; 在unix环境下可能会有问题,一般在unix下可以去掉这个配置。 NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES,EZCONECT)——表示将首先利用tnsnames进行解析;如果tnsnames解析不到,将使用hostname解析;如果hostname解析不到,将采用onames进行解析;最后使用EZCONNECT解析。例如我们客户端输入:SQL> conn [email=system/oracle@orcl23]system/oracle@orcl23[/email] (orcl123是网络服务名) 那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的IP地址然后去连接这个IP上 global_name=orcl123这个实例,当然我这里orcl并不是一个主机名。

批处理从入门到精通

批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。 1、REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、ECHO ECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上代表显示“这就是消息”这列字符 执行结果: C:\>ECHO.BAT 这个就是消息。 3、GOTO GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例 :LABEL REM 上面就是名为LABEL的标号。 DIR C:\ DIR D:\

GOTO LABEL REM 以上程序跳转标号LABEL处继续执行。 4、CALL CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例: 批处理2.BAT内容如下: ECHO 这就是2的内容 批处理1.BAT内容如下: ECHO 这是1的内容 CALL 2.BAT ECHO 1和2的内容全部显示完成 执行结果如下: C:\>1.BAT 这是1的内容 这就是2的内容 1和2的内容全部显示完成 5、PAUSE PAUSE 停止系统命令的执行并显示下面的内容。例: C:\> PAUSE 请按任意键继续 . . . 6、IF IF 条件判断语句,语法格式如下: IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command

oracle10g安装到使用教程

Oracle从安装到使用一:Oracle认证,与其它数据库比较,安装

Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。 二: Oracle的基本使用--基本命令 sql*plus的常用命令 连接命令 1.conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect] 说明: 该命令用来断开与当前数据库的连接 3.psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用 sys/system登录。 4.show user 说明: 显示当前用户名 5.exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令 1.start和@ 说明: 运行sql脚本 案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit 说明: 该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 3.spool 说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令 1.& 说明:可以替代变量,而该变量在执行时,需要用户输入。 select * from emp where job='&job'; 2.edit 说明:该命令可以编辑指定的sql脚本 案例:SQL>edit d:\a.sql

ai从入门到精通教程

第一课 一、软件介绍: Illustrator 英译:插画 它集图形设计、文字编辑及高品质输出于一体的矢量图形软件,广泛应用于平面广告设计、 网页图形制作、插画制作及艺术效果处理等诸多领域。 基本术语和概念: (1)矢量图:是按数学方法由postscript 代码定义的线条和曲线组成的图形,文件小,文件保存线条和图块的颜色信息,可以无极缩放,文件大小与图形复杂程度有关。 (2)位图(像素图、栅格图):由排列在一起的栅格组成的,每一个栅格代表一个像素点, 每一个像素点只能显示一种颜色。文件所占空间大,文件放大到一定的倍数后会产生锯齿, 文件大小与分辩率有关,适宜表现连续调的图片。 二、软件窗口界面介绍: (1)标题栏(软件标题、文件标题) (2)菜单栏(10个) (3)设置栏(所用工具或所选的图形不同出现不同功能设置) (4)工具箱 (5 )绘图窗口(打印区域和非打印区域) (6)面板窗(配合工具完成强大的AI功能) (7)状态栏(显示比例、状态提示、滚动窗口) 三、文件窗口缩放显示及位移 (1)导航器面板:改变图形窗口的大小及显示位置 (2)缩放(Z)和手形工具(H):放大和缩小图形,以及图形在窗口中的显示位置。 ★双击手形工具”实现满画布显示;双击缩放工具”实现100剜面显示;Ctrl++放大显示、 Ctrl+-缩小显示、Ctrl+0满画布显示、选择任何一个工具箱中的工具,按下空格键暂时切换

为抓手工具 四、选择工具及选择命令详解(一) 1选择工具: (1)选择工具(V,黑箭头):选择绘图窗口中的图形图像。 使用方法: 单选,单击所选物体即为选中,在被选图形以外单击取消选择; 多选,Shift+ 单击,圈选; 还可以移动图形,按Alt复制图形,按Shift+Alt 水平或垂直复制图形,并可以缩放和旋转图形,按Shift等比缩放,按Shift键45度角倍数旋转。 五、基本绘图工具一 (1)直线工具: 使用方法,单击鼠标左键不放确定线段第一个控制点,拖动鼠标到适当位置释放鼠标确定线 段第二个控制点。 (Shift绘制水平或垂直及45度角的直线段,Alt绘制以鼠标落点为中心的线段,在拖动鼠 标未确定第二个控制点,同时按下空格键,可以移动绘制图形位置,以上快捷方式适用于 AI所有绘图工具) 精确绘制线段,选择直线工具在页面中单击鼠标左键调出直线段工具设置”对话框进行数据 设置。(在绘制过程中按~键可以绘制放射线段。) (2)弧线工具:基本同上,绘制过程中按F键进行弧线方向的转换,C键进行开放和闭合 的转换。 (3 )螺旋线工具:基本同上,绘制过程中按光标上下键进行增圈和减圈设置。 (4)矩形网格工具:可以绘制简单的表格图形(通过解组及调整也可得到不规则的表格) (5 )极坐标网格工具:可以将平面网格极坐标化,通过设置框可以精确圈数和隔线数量。 (练习题:绘制蝴蝶图形)第二课(4-6节)

相关主题
文本预览
相关文档 最新文档