oracle学习过程中记录的简单笔记
1.什么叫表的完整性约束?
你让那个属性not null 了,再插的时候就不可以空值,比如姓名不可以空,你还非要不起名字,怎么能行呢。
记录之间不能相同,比如你有一个张三了就不能再有一个张三了,所以网站注册总是提示你昵称被占用,请更换,妈的生气
2.drop都能删啥?
啥都能删,比如你想删表,就drop table 表名;你想删数据链路,就drop datebaselink 名字;总之就是drop 你想删的类型 名字;
3.什么叫列约束?
4.怎么查scott下所有表的名字
conn scott/tiger @orcl;--先登陆scott
select table_name from user_tables;
5.怎么写注释
sql plus 下单行注释用--,多行注释用/**/
create table zhushi(
/*注释*/
zsno int,--注释
zsname varchar(2));
上面这样可以,但是下面这两种不行
set linesize 200;/*注释*/
set linesize 200;--注释
原因是什么目前不知道
7.rollback和commit是干嘛用的
做insert,delete,update操作的时候,不是直接就放进数据库里面的,他是把你做的操作的值放在一个中间地带,给你一个可以缓一下的机会,你可以commit,这时候就是正式提交到数据库了,并且在中间地带删掉你刚刚的操作,你也可以rollback,就是撤销你刚刚做的操作,比如你insert了之后rollback了,你再select你就会发现你那条刚插的数据没有了,如果你rollback了,那中间地带存的就也没了,那那个中间地带叫啥呢,叫回滚段
关于回滚段呢,他会记录一些什么呢?如果你delete了一条记录,回滚段会记录所有的字段名下对应的数据,就是那一行的数据都会记录,commit就删,rollback就恢复这条数据,而insert也是一样的,记录一行,commit就插入,rollback就删除这条记录,update呢是你update哪里记录哪里,commit就更新,rollback就恢复原来的数据
8.怎么建立和emp相同属性列相同值的表
create table e as select * from emp;
9.怎么建立和emp相同属性列但是不要里面的值得表
create table e as select * from emp where 1=2;
10.怎么把emp表的值都复制到刚刚建好的属性列相同的表e里面
insert into e select * from emp;
11.update语句怎么用
update 表名 set 列名 = 值 where 条件;
12.怎么解锁用户,以hr为例
先登录sys
conn sys/syspwd @orcl as sysdba;
再解锁
alter user hr account unlock;
再设置密码
alter user hr identified by hrpwd;
account是账户的意思,identified是确认的意思