一. 列常用操作
① 添加新的一列test_column,并将其作为主键,FIRST将其放在表中第一行,auto_increement是自动增长
alter table test_table add column test_column int not null auto_increment FIRST add primary key(test_column);
- 1
可以使用SQL语句“alter table ai3 add id0 int auto_increment primary key first;”来添加主键列。可以使用SQL语句“alter table ai4 modify id int auto_increment primary key;”来修改主键列。
② 删除列
alter table test_table drop column test_column;
- 1
③ 修改某一列的字段长度(例如本来是30字节改为50字节长)
alter table test_table modify column test_column varchar(50);
- 1
④ 完全修改某一列(假设原本列名是test1_column,类型是int)
alter table test_table change column test1_column test_column varchar(30);
- 1
⑤ 仅仅想重命名某一列(首先需要了解这一列的类型,假如原本是int且不为空,列名是error_name_column)
alter table test_table change column error_name_column test_column int not null;
- 1
(2)有命名
二. 针对表的多数操作
① 修改指定表的存储引擎,假设原本是MYISAM
alter table test_table engine=innodb;
- 1
② 删除指定表的主键
alter table test_table drop primary key;
- 1
这里有个情况需要指出,如果该主键列是自动增长(auto_increment)的,因为mysql要求自动增长列必须是索引,所以删除主键也就删除了主键索引,这是不符合mysql要求的,是无法实现的,会报错,必须先删除自动增长(通过修改列属性),后删除主键
③ 为指定表添加主键
alter table test_table add primary key(test_column);
- 1
④ 为指定表添加索引(普通索引),test_index是索引名
alter table test_table add index test_index(test_column);
- 1
⑤ 删除指定表索引
alter table test_table drop index test_index;
- 1
⑥ 重命名表
alter table test_table rename new_name_table;
如果想在一个已经建好的表中添加一列,可以用诸如:
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;
这条语句会向已有的表中加入新的一列,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME;
注意,上面这个命令的意思是说添加新列到某一列后面。如果想添加到第一列的话,可以用:
alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null first;
(1)无命名
alter table student drop constraint SYS_C002715;
例如前面如果我们插入一个值
create table student (
语法:
add (name varchar2(30) default ‘无名氏’ not null);
create table student (
create table students (
drop column name;
使用一个SQL语句同时添加三个字段:
alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;
age int);
insert into test1
删除一个字段
alter table students drop constraint yy;
has_money number(9,2)
(id varchar2(20) not null);
然后曾修改列: alter table test1
studentid int primary key not null,
create table test1
alter table test1
(1)无命名
Oracle 增加修改删除字段
studentid int primary key not null,
modify (name varchar2(16) default ‘unknown’);
(2)有命名
删除字段的语法:alter table tablename drop (column);
studentname varchar(8),
ALTER TABLEtable_nameRENAME TOnew_table_name;
另:比较正规的写法是:
alter table test1
查找表中主键名称得student表中的主键名为SYS_C002715
修改列的名称
studentname varchar(8),
add (name varchar2(30) default ‘无名氏’ not null,
2、删除表中已有的主键约束
-- Add/modify columns
constraint yy primary key(studentid));
age int);
values (’1′,’我们很爱你’);
范例:
studentid int ,
ORA-01441: 无法减小列长度, 因为一些值过大
studentname varchar(8),
ERROR 位于第 2 行:
修改一个字段
创建表结构:
age integer default 22 not null,
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);
ALTER TABLE table_name RENAME COLUMN supplier_name to sname;
可用 SELECT * from user_cons_columns;
修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);
alter table student add constraint pk_student primary key(studentid);
增加一个字段:
高级用法:
alter table test1
使用alter table 来增加、删除和修改一个列的例子。
);
将会得到以下错误:
age int,
3、向表中添加主键约束
modify (name varchar2(8));
1、创建表的同时创建主键约束
附:创建带主键的表>>
需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。
alter table s_dept rename column age to age1;
alter table test1
添加、修改、删除多列的话,用逗号隔开。
重命名表
本文由澳门金莎娱乐网站发布于数据大全,转载请注明出处:转载一篇比较全面的,创建主键等常用操作总结
关键词: