1、用户登录

  1. sqlplus scott/tiger @orcl
  2. 切换管理员权限解决序列从二开始计数的问题
  3. conn root/admin as sysdba;
  4. ALTER SYSTEM SET deferred_segment_creation=FALSE;

2、创建&删除表

  1. create table 表名(){
  2. 字段名1 类型(大小) 约束(primary key主键),
  3. 字段名2 类型(大小) 约束,
  4. constraint 约束别名 check(字段名>0),(指定约束,指定某一个字段的值约束)
  5. constraint 约束别名 foreign key(本表主键字段名) references 约束表(约束表主键id字段)
  6. }
  7. DROP TABLE 表名称

3、创建&删除序列

  1. -- 序列用于某一个表的数据添加的主键id的自增
  2. -- 创建序列
  3. create sequence sequnce_name;
  4. -- 删除序列
  5. drop sequence seq_name;
  6. -- 查看当前序列的最大值:
  7. select 序列名.currval from dual;

4、查看当前用户名下的表空间的所有表

  1. select table_name from user_tables;

5、Oracle数据库初始表

表名 描述
EMP 雇员表
DEPT 部门表
SALGRADE 薪水等级表
BONUS 奖金表

6、dual表

  1. - dual表是Oracle数据库中的一个虚表,它有一行一列,所有者是SYS用户但可以被数据库中的所有用户使用
  2. - 不能向该表插入数据,但可以使用该表来选择系统变量,或者求一个表达式的值

7、表的复制

  1. 首先创建一个跟需要复制的表的表结构一样的表(表B
  2. insert into B select * from A

8、表空间的创建

  1. create tablespace oracletestspace ==表空间的名称
  2. datafile 'F:/xxx.dbf' == 用于设置物理文件名称
  3. size 512m ==用于设置表空间的初始大小
  4. autoextend on ==用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
  5. next 10m ==用于设置扩容的空间大小

9、用户的创建,赋权&删除

  1. -- 创建用户
  2. -- 用户名
  3. create user 用户名
  4. -- 用户名密码
  5. identified by 密码
  6. -- 指定该用户的表空间
  7. default tablespace 表空间;
  8. ~~~~~~~~~~~~~~~~~~~~
  9. --解除锁定:
  10. alter user [username] account unlock;
  11. ~~~~~~~~~~~~~~~~~~~~~~~~
  12. --查看用户的默认表空间
  13. select 用户名,default_tablespace from dba_users
  14. ~~~~~~~~~~~~~~~~~~~~~~~
  15. -- 为该用户名赋予为最高权限
  16. grant dba to 用户名;
  17. ~~~~~~~~~~~~~~~~~~~~~~~
  18. DBA用户登录:
  19. conn system/admin
  20. 删除用户:
  21. drop user [username] cascade --使用此命令(级联删除:包括删除表空间)
  22. 删除表空间:
  23. drop tablespace ts_drp [ including contents and datafiles];

10、普通表的操作

  1. -- 增加字段
  2. ALTER TABLE 表名称 ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...);
  3. -- 修改字段类型
  4. ALTER TABLE 表名称 MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型[DEFAULT 默认值]...);
  5. -- 修改字段名
  6. ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名
  7. -- 删除字段
  8. ALTER TABLE 表名称 DROP COLUMN 列名;
  9. ALTER TABLE 表名称 DROP (列名 1,列名 2...);
  10. --删除一张表,再创建一张一样的表
  11. TRUNCATE TABLE 表名;

11、用户权限

  1. 以管理员身份登录:system/admin
  2. 查询所有用户
  3. select * from All_users
  4. 创建/修改新用户:
  5. create/alter user [用户名] identified by [密码];
  6. alter user 用户名 default tablespace 表空间名.dbf
  1. CONNECT:临时用户,特别是那些不需要创建表的用户,通常赋予该角色。
  2. RESOURCE:更为可靠和正式的数据库用户可以授予该角色,可以创建表、触发器、过程等。
  3. DBA:数据库管理员角色,拥有管理数据库的最高权限。一个具有DBA角色的用户可以撤销任何别的用户甚至别的DBA权限,这是很危险的,所以不要把该角色轻易授予一些不是很重要的用户。
  4. #把CONNECT、RESOURCE角色授予用户mm
  5. GRANT CONNECT,RESOURCE TO mm;
  6. #撤销用户mm的RESOURCE角色
  7. REVOKE RESOURCE FROM mm;
  8. 撤消后该用户重新登录就会失去相应的权限
  9. #允许用户查看EMP表中的记录
  10. GRANT SELECT ON EMP TO mm
  11. #授权之后就可以访问指定的表了
  12. select * from scott.emp
  13. #允许用户更新EMP表中的记录
  14. GRANT UPDATE on EMP TO mm;

12、数据的导出(expdp)&导入(impdp)

  1. 导出:
  2. expdp 用户名/密码 schemas=用户名 dumpfile=导出数据文件名.dump logfile=导出日志文件名.log directory=磁盘路径
  3. 导入:
  4. impdp 用户名/密码 schemas=用户名 dumpfile=导出数据文件名.dump logfile=导出日志文件名.log directory=磁盘路径