建立和管理表【weber出品必屬精品】

來源:互聯網
上載者:User

標籤:des   style   blog   color   使用   io   資料   for   

  1.  建立表

    必須有 :

    1. CREATE TABLE 的許可權

    SQL> conn /as sysdba已串連。SQL> create user test default tablespace users identified by a;使用者已建立。SQL> conn test/aERROR:ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied警告: 您不再串連到 ORACLE。SQL> conn /as sysdba已串連。SQL> grant create session to test;授權成功。SQL> conn test/a已串連。SQL> create table t(id number,name varchar2(10));create table t(id number,name varchar2(10))*第 1 行出現錯誤:ORA-01031: 許可權不足SQL> conn /as sysdba已串連。SQL> grant create table to test;授權成功。SQL> conn test/a已串連。SQL> create table t(id number,name varchar2(10));create table t(id number,name varchar2(10))*第 1 行出現錯誤:ORA-01950: 對錶空間 ‘USERS‘ 無許可權
  2.  擁有儲存空間
    SQL> conn /as sysdba已串連。SQL> alter user test quota 10M on users;使用者已更改。SQL> conn test/a已串連。SQL> create table t(id number,name varchar2(10));表已建立。建立一個表Dcreate table d(    deptno number(2),    dname  varchar2(10),    loc    varchar2(10)    )    ;表已建立。SQL> describe d; 名稱                                    是否為空白? 類型 ----------------------------------------- -------- ---------------------------- DEPTNO                                             NUMBER(2) DNAME                                              VARCHAR2(10) LOC                                                VARCHAR2(10)SQL> desc d; 名稱                                    是否為空白? 類型 ----------------------------------------- -------- ---------------------------- DEPTNO                                             NUMBER(2) DNAME                                              VARCHAR2(10) LOC                                                VARCHAR2(10)
  3.  引用其他使用者的表

    模式(schema):是一個使用者下一組對象的集合,模式名與使用者名稱是一致的

    SQL> conn hr/hrSQL> grant select on employees to scott;conn scott/tigerSQL> select count(*) from hr.employees;  COUNT(*)----------       107SQL> show userUSER 為 "SCOTT"SQL> alter session set current_schema=hr;會話已更改。SQL> select count(*) from employees;  COUNT(*)----------       107SQL> show userUSER 為 "SCOTT"
  4.  DEFAULT選項
    1. 在插入期間可以指定預設值
    SQL> create table e(empno number(4),ename varchar2(10),hiredate date default sysdate);表已建立。SQL> desc e 名稱                                    是否為空白? 類型 ----------------------------------------- -------- ---------------------------- EMPNO                                              NUMBER(4) ENAME                                              VARCHAR2(10) HIREDATE                                           DATESQL> insert into e values(7788,‘SCOTT‘,default);已建立 1 行。SQL> commit;提交完成。SQL> select * from e;EMPNO ENAME  HIREDATE----- ------ -------------- 7788 SCOTT  20-8月 -14
  5.  文字值,運算式,或者SQL函數是合法值
  6.  其他列的名或者偽列是非法的
  7. 偽列:不是真正的列,比如:Excel表格的行id。
    SQL> select rownum,ename,sal from emp;    ROWNUM ENAME    SAL---------- ------ -----         1 SMITH    800         2 ALLEN   1600         3 WARD    1250         4 JONES   2975         5 MARTIN  1250         6 BLAKE   2850         7 CLARK   2450         8 SCOTT   4000         9 KING    5000        10 TURNER  1500        11 ADAMS   1100        12 JAMES    950        13 FORD    3000        14 MILLER  1300
  8.  預設的資料類型必須匹配列的資料類型
  9.  Oracle資料庫中的表
  10.  使用者表

    由使用者建立和維護的一系列表的集合
    包含使用者的資訊

    資料字典
    由Oracle 伺服器建立和維護的一系列表的集合
    包含資料庫的資訊

  11.  資料類型

    表示字元的資料類型:CHAR(n),VARCHA2(n),LANG,CLOB

    表示數位資料類型:NUMBER(p,s):p為精度,s為刻度

    表示二進位的資料類型:RAW或者LONG RAW、BLOB、BFILE

    表示日期的資料類型:DATE、TIMESTAMP、間隔:年到月、天到秒

    SQL> create table t(da1 date,da2 timestamp)‘  2  SQL> SQL> SQL> create table t(da1 date,da2 timestamp);表已建立。SQL> insert into t values(sysdate,sysdate);已建立 1 行。SQL> commit;提交完成。SQL> col da2 for a45SQL> select * from t;DA1            DA2-------------- ---------------------------------------------20-8月 -14     20-8月 -14 09.46.51.000000 上午
  12.  INTERVAL YEAR TO MONTH 資料類型使用年和月日期欄位儲存一段時間

    INTERVAL DAY TO SECOND 資料類型使用天,小時,分鐘,秒儲存一段時間

    SQL> drop table e purge;表已刪除。SQL> create table e as select * from emp ;表已建立。SQL> alter table e add jg interval year to month;表已更改。SQL> desc e 名稱                                    是否為空白? 類型 ----------------------------------------- -------- ---------------------------- EMPNO                                              NUMBER(4) ENAME                                              VARCHAR2(10) JOB                                                VARCHAR2(9) MGR                                                NUMBER(4) HIREDATE                                           DATE SAL                                                NUMBER(7,2) COMM                                               NUMBER(7,2) DEPTNO                                             NUMBER(2) JG                                                 INTERVAL YEAR(2) TO MONTHSQL> select empno,ename,hiredate,hiredate+jg from e;EMPNO ENAME  HIREDATE       HIREDATE+JG----- ------ -------------- -------------- 7369 SMITH  17-12月-80     17-5月 -91 7499 ALLEN  20-2月 -81     20-7月 -91 7521 WARD   22-2月 -81     22-7月 -91 7566 JONES  02-4月 -81     02-9月 -91 7654 MARTIN 28-9月 -81     28-2月 -92 7698 BLAKE  01-5月 -81     01-10月-91 7782 CLARK  09-6月 -81     09-11月-91 7788 SCOTT  19-4月 -87     19-9月 -97 7839 KING   17-11月-81     17-4月 -92 7844 TURNER 08-9月 -81     08-2月 -92 7876 ADAMS  23-5月 -87     23-10月-97 7900 JAMES  03-12月-81     03-5月 -92 7902 FORD   03-12月-81     03-5月 -92 7934 MILLER 23-1月 -82     23-6月 -92
  13.  約束

    約束是強加到表中的列上的規則

    oracle中提供了五種約束:

    NOT NULL
    UNIQUE
    PRIMARY KEY
    FOREIGN KEY
    CHECK


    約束規則:

    建立約束時,可以對約束進行命名,也可以使用SYS_Cn的格式自訂命名

    可以在以下時候建立約束:

    在表建立時同時建立約束
    在表建立以後建立約束

    在表或者列層級建立約束

    在資料字典中查看約束


    定義約束:

    列層級:

  14.  
  15.  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.