- 利用sys管理员锁定账户
alter user scott account unlock
alter user scott account lock
- 日期函数
-- 日期函数
select add_months(sysdate,2) from dual;
select months_between(sysdate,sysdate) from dual;
select last_day(sysdate) from dual;
select sysdate from dual;
select round(sysdate,'MONTH') from dual; --获取最近一月的第几个单元
select next_day(sysdate,'星期一') from dual;
select trunc(sysdate,'month') from dual;
- 时区
select current_date from dual;
select dbtimezone from dual;
select sessiontimezone from dual;
- 转换函数
-- 数字转字符串
select to_char(1234,'9999') from dual;
-- 字符串转数字
select to_number('1234','0000') from dual;
-- 时间转字符串
select to_char(sysdate,'yyyy-MM-dd HH:mm:SS') from dual;
-- 字符串转时间
select to_date('2020-12-21 04:12:27','yyyy-MM-dd hh:mm:ss') from dual;
- 表聚合
intersect,minus,union,union all
select * from scott.emp where deptno = 10
intersect
select * from scott.emp where deptno = 20;
- 分页查询
select m.* from (select rownum,s.* from scott.emp s where rownum <= 10) m where m.rownum >= 2
- DML(数据管理语言) -insert,update,delete
create table emp2 as select * from scott.emp
select * from emp2;
insert into emp2(ename,job) values('zhangsan','CLERK');
update emp2 set job = 'MAIHCE' where ename = 'zhansan';
- 用户管理
create user liliming identified by 123;
alter user liliming identified by 123456;
drop user liliming cascade;
- 权限管理
1.系统权限 2.对象权限
select * from user_sys_privs
grant create session,create table to liliming;
grant select,insert,update,delete on scott.emp to liliming;
revoke create session,create table from liliming;
revoke select,insert,update,delete on scott.emp from liliming;
- 角色管理
grant CONNECT,RESOURCE to liliming;
revoke CONNECT,RESOURCE to liliming;
- 数据的备份和恢复
-- 将scott用户的所有对象导出到D:\SCOTT.DMP文件中
exp scott/tiger buffer=64000 file=D:\SCOTT.DMP owner=scott
imp scott/tiger buffer=64000 file=D:\SCOTT.DMP fromuser=scott touser=scott
- DDL
select * from emp3
alter table emp2 add count_avg number(20);
alter table emp2 modify count_avg varchar(10);
alter table emp2 rename column count_avg to sal_avg
alter table emp2 drop column sal_avg;
rename emp2 to emp3
- 表的删除
-- 截断表:删除表中所有的数据行,重置表的存储空间
truncate table emp3
-- 彻底删除: 把表所有的行和表结构删除
drop table emp3 purge
create table emp3 as select * from scott.emp
select * from emp3
-- 注意:这里的delete后面没有加 *
delete from emp3 where deptno=20
- 约束
-- 这里面的约束只有not null是列级的,其他的都是表级 + 列级的
create table my_tab (
id number(10) primary key,
name varchar(20) not null,
age number(20) check (age > 10),
id_card varchar(20) unique,
emp_no number(10),
constraint fk_id_dept foreign key(emp_no) references emp3(deptno)
)
-- 主键上不能加外键约束
alter table emp3 add constraint my_notnull not null ename;
alter table emp3 add constraint fk_my_mini foreign key(id) references emp3(id);
- 序列
create sequence my_seq increment by 1 start with 1;
select my_seq.nextval from dual;
select my_seq.currval from dual;
- 索引
-- 索引是提高查询性能的最常用手段
create index my_index on emp3(ename);
create bitmap index bit_my_index on emp3(ename);
视图
一个或多个基表上的预定义查询
使用视图优点:
- 数据独立: 降低数据库的复杂程度
- 安全:防止未经许可的用户访问敏感数据
视图上不能建表
create or replace view my_view as select * from emp3
select * from my_view
同义词: 数据库对象的别名,方便数据库对象的访问
create synonym my_syn for scott.emp
select * from my_syn
三大范式
-- 1. 如果每列都是不可再分的最小单元,则满足第一范式
-- 2. 如果一个关系满足第一范式,并且除了主键以外的其他列都直接依赖于主键列,则满足第二范式
-- 3. 如果在满足第二范式的基础上,非主键列都不传递依赖于主键列,则满足第三范式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/202507.html