1、sql窗口 select *from dual; 查询语言
命令窗口 show parameter name; 建表,删除,修改等操作
2、oracle基本术语
数据字典 数据文件 控制文件 日志文件 表空间 段 区 数据块
数据字典->sys用户下的一些东西 select *from dba_data_files 查询数据字典
(记录数据库状态和基本信息,不能错乱,打不开库)
数据文件->记录整个数据库表的信息 物理结构:我的数据文件里 逻辑结构:我的表空间里
表空间:表和其他一些基本信息的管理 创建一个用户,呆的地方
控制文件:记录我有哪些控制文件,有哪些表空间,有哪些重作日志,能否打开数据库
很小的二进制文件,维护者数据库的全局物理结构,保持数据库文件和当前数据库的运行状态是一样的
打开数据库3步骤 1、进入nomance 读参数文件 2、进入monce 读控制文件 3、打开库
日志文件:某种操作错误,有进行恢复的可能性 记录数据库运行的状态
监听日志 linux 命令 lsnrtcl status -> listener log file
告警日志 数据库运行报错
增删该查 记录在redo里面
3、账户
1、sys/change_on_install sysdba/sysoper 不能以normal登陆/默认管理员
2、system/manger normal/sysdba 不能以sysoper登陆/默认管理员
3、scott/tiger normal 普通用户
create tablespace xxx datafile '/u01/app/test .dbf'size 500m next 50m maxsize 1g autoextend on;
create user test identified by 111111; 创建用户
grant connect, resource to test1; 有权限进行连接和使用资源
drop user test1 cascade;
grant connect, resource to test1 with admin option; 角色授予用户 connect 的管理权限
自己想查看 其他用户上的东西需要权限 select on xxx to xxx;后面的用户有资格查看前面表的权限
grant create table to test1 with admin option;
revoke connect from test1;回收权限
select owner,table_name,grant,privilege from dba_tab_privs; 查询某个用户所具有的对象权限
alter user scott account unlock;解锁
4、
DDL:数据定义语言 create drop alter
DML:数据操作语言 select update insert delete
DCL:数据控制语言 事物控制 commit rollback 权限控制 grant revoke
DQL:查询语言 select
外键与主键、unique: 外键必须为另一张表(父表)的主键或唯一索引。如果要添加记录
而父表中没有则报错。反之,如果要删除父表中的记录,而子表中有记录,也会报错,但是
在创建外键约束时,如果使用on delete cascade,则删除父表中的数据时,不报错而直接把
子表关联的数据删除。如果要删除父表,则需要加上 cascade constraints, 此时子表的外键
被去除,表中记录保持不变。
查询语句:运算符
等于 =
不等于 <> !=
大于 >
大于等于 >=
小于 <
小于等于 <=
在两值之间 between and
在一组值的范围内 in
与字符串匹配 like
为空值 is null
select * from emp where rownum <= 5;
函数
substr(ename,1,2) = 'A' 函数 从第1个位置开始 第2个字符 || 连接符
instr(ename,'A') = 1; A在第一个位置上
to_char(hiredate,'yyyy-mm-dd')
extract(year from hiredate) = '1981'; 取出年