標籤:new 主鍵約束 進階用法 lin mon dep modify const name
添加欄位的文法:alter table tablename add (column datatype [default value][null/not null],….);
修改欄位的文法:alter table tablename modify (column datatype [default value][null/not null],….);
刪除欄位的文法:alter table tablename drop (column);
建立表結構:
create table test1
(id varchar2(20) not null);
增加一個欄位:
alter table test1
add (name varchar2(30) default ‘無名氏’ not null);
使用一個SQL語句同時添加三個欄位:
alter table test1
add (name varchar2(30) default ‘無名氏’ not null,
age integer default 22 not null,
has_money number(9,2)
);
修改一個欄位
alter table test1
modify (name varchar2(16) default ‘unknown’);
刪除一個欄位
alter table test1
drop column name;
Oracle修改表欄位名和長度的方式與標準的sql不一樣,它需要增加特定的關鍵字。
使用rename關鍵字來實現欄位名的修改:alter table 表名 rename column舊的欄位名 to 新的欄位名;
alert table wtc rename column qy to qcompany;
使用modify關鍵字來實現對資料類型的修改:alter table 表名 modify 欄位名 資料類型;
alert table wtc modify column qcompany varchar2(500);
進階用法:
重新命名表
ALTER TABLE table_name RENAME TO new_table_name;
修改列的名稱
文法:
ALTER TABLE table_name RENAME COLUMN supplier_name to sname;
範例:
alter table s_dept rename column age to age1;
附:建立帶主鍵的表>>
create table student (
studentid int primary key not null,
studentname varchar(8),
age int);
1、建立表的同時建立主鍵約束
(1)無命名
create table student (
studentid int primary key not null,
studentname varchar(8),
age int);
(2)有命名
create table students (
studentid int ,
studentname varchar(8),
age int,
constraint yy primary key(studentid));
2、刪除表中已有的主鍵約束
(1)無命名
可用 SELECT * from user_cons_columns;
尋找表中主鍵名稱得student表中的主鍵名為SYS_C002715
alter table student drop constraint SYS_C002715;
(2)有命名
alter table students drop constraint yy;
3、向表中添加主鍵約束
alter table student add constraint pk_student primary key(studentid);
Oracle編輯表用法