Oracle 增加修改删除字段,给字段添加注释

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

添加字段的语法:
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);
添加、修改、删除多列的话,用逗号隔开。

使用alter table 来增加、删除和修改一个列的例子。

创建表结构:
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’);

另:比较正规的写法是:
– Add/modify columns
alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;

删除一个字段:
alter table test1
drop column name;

需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。

例如前面如果我们插入一个值:
insert into test1 values (’1′,’我们很爱你’);

然后曾修改列: alter table test1 modify (name varchar2(8));
将会得到以下错误:
ERROR 位于第 2 行:
ORA-01441: 无法减小列长度, 因为一些值过大


高级用法:
重命名表
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);


转载自http://georgeinfo.blog.163.com/blog/static/163683341201112655637737/

版权给原创所有

MySQL表结构变更详解:ALTER TABLE ADD COLUMN语法、最佳实践与避坑指南 MySQL中为已有表添加字段主要使用ALTER TABLE语句配合ADD COLUMN子句,语法为:ALTER TABLE 表名 ADD COLUMN 字段字段定义[FIRST|AFTER 现有字段]。操作需注意备份数据、选择业务低峰期执行,对大表考虑使用在线DDL或第三方工具减少锁表影响。建议明确指定NOT NULL和DEFAULT值,添加外键时应先添加字段再建立约束。最佳实践是通过单条语句添加多个字段,并优先在测试环境验证。 阅读详情

相关推荐

MySQL ALTER 语句的用法详解

ALTER 语句可以用于添加修改删除表的列,以及修改表的约束和索引。这些示例代码展示了 ALTER 语句的常见用法。通过使用 ALTER 语句,您可以轻松地修改和调整数据库表的结构,以满足不断变化的需求。假设我们有两个表,一个是 “orders” 表,另一个是 “customers” 表。如果需要修改表中已有列的定义,可以使用 ALTER TABLE 语句的 MODIFY COLUMN 子句。如果需要从表中删除一个列,可以使用 ALTER TABLE 语句的 DROP COLUMN 子句。

SmufHtml的博客 758

Oracle 增加修改删除字段

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table t...

weixin_34261415的博客 4795

MySQL命令行中删除表中的字段

请将"username"替换为您的MySQL用户名,"database_name"替换为要操作的数据库名,"table_name"替换为要删除字段的表名,"column_name"替换为要删除字段名。在MySQL数据库中,要删除表中的字段,我们可以使用ALTER TABLE语句来完成。通过使用MySQL命令行中的ALTER TABLE语句和DROP COLUMN子句,我们可以删除表中的字段。要删除表中的字段,我们需要使用ALTER TABLE语句的DROP COLUMN子句,并指定要删除字段名。

MwgmPhilosophy的博客 873

oracle表操作(添加/删除/修改列)

--添加一列 ALTER TABLE table_name ADD column_1 DATE NOT NULL; ALTER TABLE table_name ADD column_2 VARCHAR2(44) DEFAULT ''; ALTER TABLE table_name ADD column_3 number(28,10); --添加多列 ALTER TABLE table_name ADD ( column_1 type constraint,--列名 类型 约束...

xyl的博客 6323

Oracle 增加修改删除字段添加注释

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table t...

baidu_20876831的博客 7768

Oracle 增加修改删除字段添加注释

Oracle 增加修改删除字段添加注释 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [

xzg1109的专栏 1万+

【转载】Oracle 增加修改删除字段添加注释

转载:https://www.cnblogs.com/Luouy/p/5377638.html https://blog.csdn.net/xzg1109/article/details/78860829 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:al...

程序员大海的博客 769

常用的数据库脚本

常用的数据库脚本MySQL创建表 MySQL 创建表 DROP TABLE IF EXISTS table_name; CREATE TABLE table_name ( pkid int NOT NULL AUTO_INCREMENT COMMENT '主键', name varchar(64) NOT NULL COMMENT '姓名', gender varcha...

roro的博客 1334

经典的Oracle修改表结构文档

拉轰的江哥哥整理的经典的Oracle修改表结构文档,作为程序猿和攻城师的你值得阅读! 1、增加字段alter table table_name add (name varchar(20) default 'unkown'); 如: SQL> run; 1 alter table test3 2* add(address varchar(100))  表已更改。2、修改表...

一个搞IT的人 193
下一篇: 使用knife4j文档,@Api(“xxx/xxx“)控制器配置地址描述时有“/“的bug问题解决
Kevin_iz
博客等级 码龄7年 2粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值