1. 创建表

    必须有 :

    1. CREATE TABLE 的权限

    1. SQL> conn /as sysdba
    2. 已连接。
    3. SQL> create user test default tablespace users identified by a;
    4.  
    5. 用户已创建。
    6.  
    7. SQL> conn test/a
    8. ERROR:
    9. ORA-: user TEST lacks CREATE SESSION privilege; logon denied
    10.  
    11. 警告: 您不再连接到 ORACLE
    12. SQL> conn /as sysdba
    13. 已连接。
    14. SQL> grant create session to test;
    15.  
    16. 授权成功。
    17.  
    18. SQL> conn test/a
    19. 已连接。
    20.  
    21. SQL> create table t(id number,name varchar2());
    22. create table t(id number,name varchar2())
    23. *
    24. 行出现错误:
    25. ORA-: 权限不足
    26.  
    27. SQL> conn /as sysdba
    28. 已连接。
    29. SQL> grant create table to test;
    30.  
    31. 授权成功。
    32.  
    33. SQL> conn test/a
    34. 已连接。
    35. SQL> create table t(id number,name varchar2());
    36. create table t(id number,name varchar2())
    37. *
    38. 行出现错误:
    39. ORA-: 对表空间 'USERS' 无权限
  2. 拥有存储空间
    1. SQL> conn /as sysdba
    2. 已连接。
    3. SQL> alter user test quota 10M on users;
    4.  
    5. 用户已更改。
    6.  
    7. SQL> conn test/a
    8. 已连接。
    9. SQL> create table t(id number,name varchar2());
    10.  
    11. 表已创建。
    12.  
    13. 创建一个表D
    14.  
    15. create table d(
    16. deptno number(),
    17. dname varchar2(),
    18. loc varchar2()
    19. )
    20. ;
    21.  
    22. 表已创建。
    23.  
    24. SQL> describe d;
    25. 名称 是否为空? 类型
    26. ----------------------------------------- -------- ----------------------------
    27. DEPTNO NUMBER()
    28. DNAME VARCHAR2()
    29. LOC VARCHAR2()
    30.  
    31. SQL> desc d;
    32. 名称 是否为空? 类型
    33. ----------------------------------------- -------- ----------------------------
    34. DEPTNO NUMBER()
    35. DNAME VARCHAR2()
    36. LOC VARCHAR2()
  3. 引用其他用户的表

    模式(schema):是一个用户下一组对象的集合,模式名与用户名是一致的

    1. SQL> conn hr/hr
    2.  
    3. SQL> grant select on employees to scott;
    4.  
    5. conn scott/tiger
    6.  
    7. SQL> select count(*) from hr.employees;
    8.  
    9. COUNT(*)
    10. ----------
    11.  
    12. SQL> show user
    13. USER "SCOTT"
    14. SQL> alter session set current_schema=hr;
    15.  
    16. 会话已更改。
    17.  
    18. SQL> select count(*) from employees;
    19.  
    20. COUNT(*)
    21. ----------
    22.  
    23. SQL> show user
    24. USER "SCOTT"
  4. DEFAULT选项
    1. 在插入期间可以指定默认值
    1. SQL> create table e(empno number(),ename varchar2(),hiredate date default sysdate);
    2.  
    3. 表已创建。
    4.  
    5. SQL> desc e
    6. 名称 是否为空? 类型
    7. ----------------------------------------- -------- ----------------------------
    8. EMPNO NUMBER()
    9. ENAME VARCHAR2()
    10. HIREDATE DATE
    11.  
    12. SQL> insert into e values(,'SCOTT',default);
    13.  
    14. 已创建 行。
    15.  
    16. SQL> commit;
    17.  
    18. 提交完成。
    19.  
    20. SQL> select * from e;
    21.  
    22. EMPNO ENAME HIREDATE
    23. ----- ------ --------------
    24. SCOTT -8 -
  5. 文字值,表达式,或者SQL函数是合法值
  6. 其他列的名或者伪列是非法的
  7. 伪列:不是真正的列,比如:Excel表格的行id。
    1. SQL> select rownum,ename,sal from emp;
    2.  
    3. ROWNUM ENAME SAL
    4. ---------- ------ -----
    5. SMITH
    6. ALLEN
    7. WARD
    8. JONES
    9. MARTIN
    10. BLAKE
    11. CLARK
    12. SCOTT
    13. KING
    14. TURNER
    15. ADAMS
    16. JAMES
    17. FORD
    18. MILLER
  8. 默认的数据类型必须匹配列的数据类型
  9. Oracle数据库中的表
  10. 用户表

    由用户创建和维护的一系列表的集合
    包含用户的信息

    数据字典
    由Oracle 服务器创建和维护的一系列表的集合
    包含数据库的信息

  11. 数据类型

    表示字符的数据类型:CHAR(n),VARCHA2(n),LANG,CLOB

    表示数字的数据类型:NUMBER(p,s):p为精度,s为刻度

    表示二进制的数据类型:RAW或者LONG RAW、BLOB、BFILE

    表示日期的数据类型:DATE、TIMESTAMP、间隔:年到月、天到秒

    1. SQL> create table t(da1 date,da2 timestamp)'
    2.  
    3. SQL>
    4. SQL>
    5. SQL> create table t(da1 date,da2 timestamp);
    6.  
    7. 表已创建。
    8.  
    9. SQL> insert into t values(sysdate,sysdate);
    10.  
    11. 已创建 行。
    12.  
    13. SQL> commit;
    14.  
    15. 提交完成。
    16.  
    17. SQL> col da2 for a45
    18.  
    19. SQL> select * from t;
    20.  
    21. DA1 DA2
    22. -------------- ---------------------------------------------
    23. -8月 - -8月 - 09.46.51.000000 上午
  12. INTERVAL YEAR TO MONTH 数据类型使用年和月日期字段存储一段时间

    INTERVAL DAY TO SECOND 数据类型使用天,小时,分钟,秒存储一段时间

    1. SQL> drop table e purge;
    2.  
    3. 表已删除。
    4.  
    5. SQL> create table e as select * from emp ;
    6.  
    7. 表已创建。
    8.  
    9. SQL> alter table e add jg interval year to month;
    10.  
    11. 表已更改。
    12.  
    13. SQL> desc e
    14. 名称 是否为空? 类型
    15. ----------------------------------------- -------- ----------------------------
    16. EMPNO NUMBER()
    17. ENAME VARCHAR2()
    18. JOB VARCHAR2()
    19. MGR NUMBER()
    20. HIREDATE DATE
    21. SAL NUMBER(,)
    22. COMM NUMBER(,)
    23. DEPTNO NUMBER()
    24. JG INTERVAL YEAR() TO MONTH
    25.  
    26. SQL> select empno,ename,hiredate,hiredate+jg from e;
    27.  
    28. EMPNO ENAME HIREDATE HIREDATE+JG
    29. ----- ------ -------------- --------------
    30. SMITH -12月- -5 -
    31. ALLEN -2 - -7 -
    32. WARD -2 - -7 -
    33. JONES -4 - -9 -
    34. MARTIN -9 - -2 -
    35. BLAKE -5 - -10月-
    36. CLARK -6 - -11月-
    37. SCOTT -4 - -9 -
    38. KING -11月- -4 -
    39. TURNER -9 - -2 -
    40. ADAMS -5 - -10月-
    41. JAMES -12月- -5 -
    42. FORD -12月- -5 -
    43. MILLER -1 - -6 -
  13. 约束

    约束是强加到表中的列上的规则

    oracle中提供了五种约束:

    NOT NULL
    UNIQUE
    PRIMARY KEY
    FOREIGN KEY
    CHECK

    约束规则:

    创建约束时,可以对约束进行命名,也可以使用SYS_Cn的格式自定义命名

    可以在以下时候创建约束:

    在表创建时同时创建约束
    在表创建以后创建约束

    在表或者列级别创建约束

    在数据字典中查看约束

    定义约束:

    列级别:

创建和管理表【weber出品必属精品】的更多相关文章

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  2. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  3. 创建存储过程和函数【weber出品必属精品】

    一.什么是存储过程和函数 1. 是被命名的pl/sql块 2. 被称之为pl/sql子程序 3. 与匿名块类似,有块结构: 声明部分是可选的(没有declare关键字) 必须有执行部分 可选的异常处理 ...

  4. 控制用户的访问之权限、角色【weber出品必属精品】

    权限的作用 限制用户对数据的访问 权限的分类 1. 系统权限:能够存取数据库的权限 2. 对象权限:操作数据库对象的内容 系统权限  1.1 如何创建用户: SQL> create user t ...

  5. 使用DML语句【weber出品必属精品】

    DML语句包含以下语法: INSERT:往一个表中增加新行 DELETE:从一个表中删除掉现有的行 UPDATE:更改一个表中现有的行 INSERT语句语法:INSERT INTO TABLE(COL ...

  6. 静默安装ORACLE【weber出品必属精品】

    安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...

  7. 初识数据字典【weber出品必属精品】

    数据字典结构 有两部分组成: 1. 基表:以$结尾的系统表,在创建数据库的时候,oracle自动创建的表 2. 用户可以访问的视图 数据字典的种类 DICTIONARY:简称DICT,所有的数据字典, ...

  8. 数据库对象(视图,序列,索引,同义词)【weber出品必属精品】

    视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授 ...

  9. 高级子查询【weber出品必属精品】

    多列子查询 where条件中出现多列与子查询进行比较 多列子查询分为:成对比较和非成对比较 成对比较: SQL> select ename,sal,job from emp where (dep ...

随机推荐

  1. channel c3 disabled, job failed on it will be run on another channel

    今天执行备份时,报错: allocated channel: c3 channel c3: sid=131 instance=orcl2 devtype=DISK   RMAN-03009: fail ...

  2. INVALID_USER_SCODE问题的解决办法

    在用高德地图API的时候,还会遇见一个为题,就是总是提示:INVALID_USER_SCODE.当遇见这个问题的时候,一般的问题都是,注册key之后没有十分钟就开始使用这个key值了.另外一种情况就是 ...

  3. 在OC中调用Swift类中定义delegate出现:Property 'delegate' not found on object of type ...

    找了许久没找到答案, 在下面的链接中, 我解决了这个问题: http://stackoverflow.com/questions/26366082/cannot-access-property-of- ...

  4. shell中对于命令的搜寻顺序

    当你在shell命令行输入一条命令时,shell的搜寻顺序是如何的呢?当你的脚本名字和shell中的函数名字重名,shell是如何决定运行哪一个的? 在shell中,shell对于命令的搜寻优先级为: ...

  5. webpack,react,babel

    window搭建webpack,react,babel傻瓜教程   首先现在的webpack教程已经很多了,写这篇的原因是因为自己在从小白开始的搭建过程中,并没有找到比较好的教程,花费了很多的时间,s ...

  6. 解决gradle:download特别慢的问题

    使用AndroidStudio 2.2.2 新增加了一个dependencies,需要下载jar包,此时就会卡在 gradle:download https://….. 这个状态中. 原因就是因为我们 ...

  7. mysql常用查询归纳

    一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) .where常用运算符: 比较运算符 > ...

  8. AzCopy – 跨帐户复制 Blob

    您可以随时从 aka.ms/AzCopy 下载最新版本. 去年4月发布的版本中的新增功能 支持跨帐户复制 Blob:AzCopy 允许您在相同存储帐户内或不同存储帐户之间复制 Blob(有关跨帐户 B ...

  9. HDU3564 --- Another LIS (线段树维护最值问题)

    Another LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. c语言结构体在内存中存储,字节对齐

    注意: 出于效率的考虑,C语言引入了字节对齐机制,一般来说,不同的编译器字节对齐机制有所不同,但还是有以下3条通用准则: (1)结构体变量的大小能够被其最宽基本类型成员的大小所整除: (2)结构体每个 ...