日期:2014-05-16 浏览次数:20525 次
第5讲
第一,新建用户
conn system/orclhsp
create user xiaoming identified by m123
grant connect to xiaming
grant resource to xiaoming
connect xiaoming/m123
pasword xiaoming修改密码
disconnect断开连接
新建表并加数据
create table users(id number);
insert into users values(1)
回收权限,注意自己不能实现,要用system
conn system/orclhsp
revoke connect from xiaoming
revoke resource from xiaoming
回收后,也可以删除用户
drop user xiaoming;(会报错)
注意,如果此用户已创建过数据对象(表\触发器\序列),那么我们删除用户时候,要加选项
cascade表示把这个用户删除同时,则所有的对象也要删除
drop user xiaoming cascade;
第二,实例,方案(schema)
注意此点极为重要,此处与其他数据库:mysql sqlserver最大不同处.
名词:数据库实例:orclhsp只有一个。当一个用户,创建后,若此用户创建任意一个数据
对象,这是我们的dbms就会创建一个对应的方案与该用户对应。且其名字与用户的名字一致
。
scott方案,自己建的表回放在其自己目录下的。故而可以建相同名的表(不同的方案可以
,相同的也是不行了)。
__小技巧:若要查某用户有哪些数据对象,可以用pl/sql developer
__也可以:用xiaoming这个用户去查询scott表的方法,
步骤如下:A先用scott登录,Bgrant select|update on emp to xiaohong
xiaohong查询emp表时,要这样select * from sott.emp;
show user;查当前的用户名是何?
第六讲
使用profile文件对口令进行管理
允许用户最多可以尝试三次,若失败而三天后再试。
oracle数据库的启动流程
windows的系统信息明细
第七讲
conn xxx/xxx as sysdba
也可以登录的,就是不管其用户或密码,也可登录的。
show user;显示sys
1.普通用户:默认的是以数据库方式验证:conn scott/tiger
2.特权用户,默认以操作系统认证,比如:conn system/sss as sysdbc[只有在ora_dba组
中才可以,不才的也是可以可的]
方式2,登录成功后,会自动切换成sys用户。
密码丢失了怎么办啊?
第八讲数据类型
char(size) 存放字符串,最大2000个字符,定长。定长解释:
若建此表:create table test (name char(32));--此列最多能放32字符,,超过会报错,
不够,则用空格补全。可以用此函。select name,dump(name) from test
varchar:使用的较小
varchar2:是变长,最大4000。就是不放空格,会被回收的。
使用原则:若数据长度是固定的,如商品编号,身份证号,应使用char,因为速度会很快
nchar:定长,是在unix下的编码。注意:汉字也是一个,与其他的不同。
nvarchar2:
clob:字符型的大对象,变长,只能放字符,最大为8T
blob:变长,二进制,图片,声音,文字,也是最大为8T
在实际开发中,很小把图片,声音放在数据库中,一般只存url地址
第九讲
date,其默认格式为日-月-年,故插入时也要用此格式。若要改成中国习惯,则使用此方法
:
timestamp(n),1邮戳类型,若改某个姓名字段时,此格式的日期也会动的
第十讲
实际建一个学生表
给表修改名字:
rename 旧表名 to 新名字
字符kg与日期类型应包括在单引号中
delete from table 写日志,速度慢,可以找回
truncate from table 不写日志,速度类,不可以找回
rollback;
select * from students
oracle列名,是
select ename,sal*fd AS 年薪 from emp
select ename,sal*fd 年薪 from emp
一个函数,自己特有的。
nvl(num,0)若num为空null,则返回0;若不空,则返回其值
||合并列显示,把多列合成一列,连rub接ts符
select name||job from emp;
第十五讲
这是oracle特有的
select * from emp where (salary,dept)=(select salary,dept from emp)
笛卡尔积条件个数:相连的表个数减去1,即当有三个表相连时,条件数必有3-2=1;
数据库:
connect szn/szn123123
create table setting_supplier_customer{
}
第十七讲
a1,a2取交集intersect,取差集minus
内连与外连
如何看是左表还是右表呢?表在left join左边即可左表,右边便是右表