*********************oracle的逻辑结构***************************
oracle 中数据库 级别比较高 一般不要轻易创建数据库
oracle中的用户 相当于 mysql 中的数据库
京东商城项目---- jd用户
学生管理系统----- stu用户
表空间: 逻辑结构 , 一个表空间 对应 一个或者多个数据文件..
数据文件的位置是相邻的....
*********************备份用户(相当于备份数据库)**************************
1.导出 exp
在c:\下 新建一个文件夹 temp
进入到该文件夹目录下 cd temp
输入exp
导出哪个用户 scott
密码 tiger
一路下一步
2.导入
cd c:\temp 进入到含有备份文件的文件夹下
imp
用户名: jidi
密码:
一路下一步 最后一步 导入整个文件 选yes
*******************************创建用户**************************
grant create session,create table,create view to jidi -- 分配权限
假设同时分配10个权限给jidi用户 在这里要写10个权限 比较麻烦
可以直接把角色 分配给用户
角色: 权限的集合.
grant dba to jidi;
*********************DML语句(数据操纵语句)***************************
先备份表结构和数据
create table dept2 as select * from dept
create table emp2 as select * from emp
create table salgrade2 as select * from salgrade
一. 插入记录
1. 插入整条记录
insert into dept values(50,'teaching','beijing')
2. 只想插入部分字段
insert into dept(deptno,dname) values(60,'就业部')
如果只有某个字段不想插入值,没必要像上面一样,把字段名一个一个列出来,比较麻烦,可以使用简便方式
insert into dept values(80,'市场部2','')
或
insert into dept values(80,'市场部2',null)
3. 把某张表中查出的记录 直接插入到另一张表中
insert into dept select * from 另一张表
二. 删除
delete from dept where deptno>40
delete from emp where ename='SMITH'
三.修改
update emp set sal=sal*2,ename=ename||'-'
where deptno=10
DML语句是有事务的概念的, 一个客户端发出一个dml语句 后 不会立马生效,
只在当前客户下 数据有所改变 其他用户下还是之前的数据,只有该客户端提
交了事务后,其他客户端才能查到最新的数据.