`
yxw22
  • 浏览: 24938 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle使用sql语句增加修改删除字段示例

阅读更多

添加字段的语法: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);
分享到:
评论

相关推荐

    oracle使用sql语句增加字段示例(sql删除字段语句)

    oracle使用sql语句增加修改删除字段示例

    oracle通过1条语句插入多个值的方法示例

    我想往数据库插入多条数据时,使用了如下语句: insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4); 这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错: ORA-00933: SQL ...

    经典SQL语句大全

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    mybatis连接oracle实例

    这是一个用mybatis框架连接oracle数据库的例子,可在eclipse上运行,需要在oral建test表包涵(id,age,username,password)字段,

    精通sql结构化查询语句

    4.3.3 修改数据表中的列 4.3.4 删除数据表中的列 4.4 数据表的删除 4.4.1 删除数据表的语句结构 4.4.2 使用SQL语句删除数据表 4.5 数据表的重命名 4.5.1 重命名数据表的语句 4.5.2 使用SQL语句重命名数据表 4.6 小结...

    经典全面的SQL语句大全

     使用SQL语句 用...代替过长的字符串显示  语法:  SQL数据库:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename  Access数据库:SELECT iif(len...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    6.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP...

    高效SQL语句必杀技

    本文主要描述如何编写高效的SQL语句并给出示例。下面的描述主要分为三个部分,一是编写高效SQL语句,二是使用索引提高查询性能的部分,三是总结部分。  一、编写高效SQL语句  1)选择有效的表名顺序(仅适用于...

    sql正负数排序示例

    select * from t1 order by sign(A) desc,abs(A) asc

    达梦和oracle的差异说明

    达梦和oracle的差异说明,关键字汇总,示例说明;

    经典SQL脚本大全

    │ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例.sql │ │ 3.7.5 ntext字段的REPLACE处理示例.sql │...

    Sqlserver2000经典脚本

    │ 3.6.3 动态参数的存储过程示例.sql │ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例....

    SQL21日自学通

    使用SQL 来生成SQL 语句的目的351 几个SQL*PLUS 命令352 SET ECHO ON/OFF353 SET FEEDBACK ON/OFF353 SET HEADING ON/OFF 353 SPOOL FILENAME/OFF353 START FILENAME354 ED FILENAME354 计算所有的表中的行数354 为...

    sql经典语句一部分

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    SQL server 数据库示例(来自Orcale中的Scott经典示例)

    这是一个SQL server示例,你可以用它来练习相关SQL语句。 1、来自经典的Oracle中的scott数据库,已转换成SQL server版本 2、基本上所有SQL都可以使用它 3、学习方法,附加此数据库后,熟记每个字段和表内容,然后用...

    JSqlParser:JSqlParser解析一条SQL语句并将其转换为Java类的层次结构。 可以使用“访问者模式”浏览生成的层次结构

    JSqlParser 在此处查找更多信息和示例: : 。执照JSqlParser具有LGPL V2.1或Apache软件许可2.0版的双重许可。...JSqlParser JSqlParser是一个SQL语句解析器。 它将SQL转换为Java类的可遍历层次结构。 JSqlParser不

    数据库操作语句大全(sql)

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' +...

    oracle实验报告

    PL/SQL中的SQL语句,可使用SQL的比较操作等运算符。但不能使用数据定义语句。 在PL/SQL块中使用SELECT语句时注意几点: (1)SELECT语句必须含有INTO子句。 (2)INTO子句后的变量个数和位置及数据类型必须和...

Global site tag (gtag.js) - Google Analytics