1. 程式人生 > >oracle 表結構、表字段、表中資料、主鍵約束的相關操作

oracle 表結構、表字段、表中資料、主鍵約束的相關操作

1.表字段的的操作

1)增加欄位語法:alter table tablename add (column datatype [default value] [null/not null] ….);

(比較增加主鍵約束:alter table table_name add constraint pk_name primary key(column);

    說明:alter table 表名 add (欄位名 欄位型別 預設值 是否為空);

       例:alter table sf_users add (userName varchar2(30) default '空' not null);

2)刪除欄位的語法:alter table tablename drop (column);

    說明:alter table 表名 drop column 欄位名;

       例:alter table sf_users drop column HeadPIC;

3)修改欄位的語法:alter table tablename modify (column datatype [default value] [null/not null] ….); 

    說明:alter table 表名 modify (欄位名 欄位型別 預設值 是否為空);

       例:alter table sf_InvoiceApply modify (BILLCODE number(4));

4)欄位的重新命名:

    說明:alter table 表名 rename  column  列名 to 新列名   (其中:column是關鍵字)

       例:alter table sf_InvoiceApply rename column PIC to NEWPIC;

5)欄位加備註:

    例:comment on column TableName.Columnname is '備註資訊';

2.表的操作

1)表名加備註:

    例:comment on table TableName is '備註資訊';

2)刪除表

    例:drop table table_name:刪除表結構(表中資料全部被刪除)

3)修改表名稱

    例:rename table_name to new_table_name;

        alter table tablename rename to new_table_name;

4)建立表

    例:

create table emp(id int,ename varchar(30),age int,job varchar(20));

5)刪除表中所有資料,保留表結構

    例:truncate table table_name <===> delete from table_name 

        相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。

        不同:truncate 通過釋放儲存表資料所用的資料頁來刪除資料,並且只在事務日誌中記錄頁的釋放。

                delete  語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。

3.增加、修改、查詢表約束

1)增加表約束:

       例:alter table table_name add constraint pk_name primary key(column);

2)刪除表約束:

      例:alter table table_name drop constraint pk_name;

3) 查詢表約束:

      例:select constrain_name from user_cons_columns s where s.table_name = 'name';

4) 修改約束名稱:

      例:alter table table_name rename constrain pk_id to new_pk_id;