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;