韩老师听课笔记1

 用户管理:

1.       创建用户:create user llu(账号) identified by llu(密码)

2.       用户密码修改:password llu

3.       删除用户,如果非管理员,则需要有drop权限:drop user llu [cascade]  (方括号里面是可选参数,可以一起删除用户所创建的表)

4.       赋予用户远程登陆权限:grant connect to llu

5.       赋予用户创建表的权限:grant resource to llu

6.       用户创建表:create table test(userid varchar(30),username varchar(30));

7.       查看表结构:desc test

8.       赋予A用户查询B用户下test表的权限:grant select on test to A; 查询的时候A需要输入:select * from B.test

9.       赋予A用户修改B用户下test表的权限:grant update on test to A

10.   回收权限:revoke select on test from A;

11.   权限传递(允许A用户传递权限给其他用户)grant select on test to A with grant option;

12.   权限回收后,传递的权限一起被回收

13.   账户锁定(3次密码输入错误账户就锁定2,aaa是配置文件)create profile aaa limit failed_login_attempts 3 password_lock_time 2;

Alter user lockuser1 profile aaa;(把配置文件作用到lockuser1上)

14.   如何解锁:alter user lockuser1 account unlock;

15.   要求用户定期修改密码,并宽限2,10天以后才可重用密码:create profile bbb limit password_life_time 10 password_grace_time 2 password_reuse_time 10;

Alter user llu profile bbb;

16.    

 

表的管理:(pl/sql显示执行的时间,set timing on

1.       表名命名规范:必须以字母打头,长度不超过30字符,不能使用oracle保留字,只能使用A-Z,a-z,0-9,$,#等(标点符号不要用)

2.       Char,定长的字段,最长2000字符(查询效率高,空间占用大)

3.       Varchar2,可变长度,最长4000字符(查询慢,空间占用小)

4.       Clob(最大支持4G的字符)

5.       数字类型:number5,2

6.       时间类型:datetimestamp(精度更高)

7.       图片类型:blob(二进制)

8.       创建表:

create table class(

classid number(2),

classname varchar2(40)

     );

9.       表创建后,已有数据的情况下添加字段:alter table student add (classid number(2));

10.   修改已创建字段长度:alter table student modify (xm varchar2(30));

11.   字段尽量不要删除,加字段默认加到最后

12.   表改名也很少用(rename A to B

13.   插入字段:insert into student values(1,’鲁良’,’’,’31-8-2011’,9999.9,12)

或者改变默认日期格式alter session set nls_date_format = ‘yyyy-mm-dd’

14.   添加一个空值:insert into student (xh,xm,sex,birthday) values(3,’aa’,’null)

如果要查找空值的数据:select * from student where birthday is null

Sql等工具是select * from student where birthday=’null’

更新表中某些数据:Update student set sex=’’ where xh=001;

15.   删除操作:

a)         Delete from student;   数据删除,但是表结构还在,写日志,如果建立回滚点,则可以恢复。

                         i.              Savepoint aa;  这个很重要(类似镜像)

                       ii.              Rollback to aa;

b)         Drop table student;   这个是删除数据和表结构(无法恢复)

c)         Delete from student where xh=’A001’;   这个是删除一条记录

d)         Truncate table student;    删除数据,表结构还在,不写日志,但是数据无法恢复(删除速度快)

16.   查询表结构:desc ;

17.   批量插入数据(自己复制自己):insert into (字段1,字段2,字段3 select * from

18.   查询记录的时候合并相同的条目,或者说只显示一条:select distinct 条目1, 条目2 from 表;

19.   查询的时候注意:where 条目=AaBb‘;引号里面的内容是区分大小写的

20.   查询的时候如果有个条目值为null,则需要用到nvl函数:select 条目*13+nvl(条目,0)*13 "别名",条目 from ;

21.   查询特定条件的数值,需要select 条目1,条目2 from where 条目>值;

22.   模糊查询的时候,用到%字符,where 条目 like s%’;(首字母是s的条目)

23.   如果需要查找第三个字符是S的条目:where 条目 like __S%’;(两条下划线)

24.   如果有多个类似的查询条件:where 条目 in123,234,800);

(类似or,但是查询速度很快)

25.   Select * from emp where (sal>500 or job=’manager’) and ename like ‘j%’;

(emp表中,符合薪水大于500或者manager职位,同时姓名首字母是j的人)注意括号

26.   查询出来的数据按照从小到大排序:select * from emp order by sal; 

如果是从大到小:select * from emp order by sal desc;

27.   查询出来的数据需要1种以上的排序:select * from emp order by deptno,sal desc; (注意两个条件中间用逗号)

28.   查询出来的数据用表里没有的条目进行排序:select ename,(sal+nvl(comm,0))*12 “年薪” from emp order by “年薪”;  (使用别名)

29.    

你可能感兴趣的:(职场,用户,休闲,韩老师)