Oracle 表操作(转)
1、增加新字段:alter table table_name add (name varchar(20) default 'http://www.zangjing.net/');、
2、修改表字段:alter table table_name modify (name varchar2(30) default 'http://www.zangjing.net/');
Table created
SQL> desc t;
Name Type Nullable Default Comments
---- ------ -------- ------- --------
A NUMBER Y
SQL> alter table t add (b number,c number);
Table altered
SQL> desc t;
Name Type Nullable Default Comments
---- ------ -------- ------- --------
A NUMBER Y
B NUMBER Y
C NUMBER Y
SQL> alter table t modify (b varchar2(10),c varchar2(10));
Table altered
SQL> desc t;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A NUMBER Y
B VARCHAR2(10) Y
C VARCHAR2(10) Y
SQL> alter table t drop (b,c);
Table altered
SQL> desc t;
Name Type Nullable Default Comments
---- ------ -------- ------- --------
A NUMBER Y
添加字段的语法: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 表操作(转)的更多相关文章
- 4、oracle表操作
4.1.dml操作: 1.查看当前用户下所有的表: select * from user_tables; 2.查看某表的大小: select sum(bytes)/(1024*1024) as &qu ...
- Oracle 表操作
表操作 复制表结构和数据 CREATE TABLE table_name AS SELECT * FROM old_table_name; 复制表结构 CREATE TABLE table_name ...
- Oracle表操作 (未完待续)
1. Oracle 中将一个表中数据导入到另外一个表的方法 insert into scd_data_201007 select * from analog_data_201007 ; 2. 纵表转换 ...
- Oracle表操作-创建及增删改查
数据类型: 1.CHAR:定长字符类型,默认长度是1,最长不超过2000字节. 2.CARCHAR2(length):可变字符类型,默认长度是1,最长不超过4000字符. 3.NUMBER(P,S): ...
- Oracle创表操作记录
Oracle表操作 --主键,复合主键 create table example (id number primary key, name varchar2(20)); create table ex ...
- oracle学习操作(1)
一.oracle表及表空间: 1.查看用户.用户表空间等,需要sysdba登陆: select username, default_tablespace from dba_users; 2.一个数 ...
- Oracle 数据库基本操作——实用手册、表操作、事务操作、序列
目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...
- Oracle表空间和表的常用操作指令
查看端口号指令 netstat –a 设置: set pagesize 100; //设置每页显示的行数set linesize 200; //设置每页显示的字符数 空格也算col 列名A for a ...
- ORACLE表空间操作实例
本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...
随机推荐
- Android并发编程 原子类与并发容器
在Android开发的漫漫长途上的一点感想和记录,如果能给各位看官带来一丝启发或者帮助,那真是极好的. 前言 上一篇博文中,主要说了些线程以及锁的东西,我们大多数的并发开发需求,基本上可以用synch ...
- 「Java基本功」一文读懂Java内部类的用法和原理
内部类初探 一.什么是内部类? 内部类是指在一个外部类的内部再定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(而外部类只能 ...
- TCP/IP 笔记 - 域名解析和域名系统
由于IP地址的烦琐导致的记忆和使用困难,互联网支持使用主机名称来识别包括客户机和服务器在内的主机.同时为了使用一系列协议,主机名称通过称为"名称解析"的过程转换成对应IP地址. 互 ...
- [译]初试C# 8.0
原文地址: https://blogs.msdn.microsoft.com/dotnet/2018/12/05/take-c-8-0-for-a-spin/ 初试C# 8.0 昨天我们宣布了Visu ...
- a 标签提交表单
document.getElementById('ECS_FORMBUY').submit();
- [SCOI2012] 喵星球上的点名
Description 给定 \(N\) 个姓名串和 \(M\) 个点名串.询问每个点名串点到了多少姓名和每个姓名串被点到了几次.\(N\leq 5\cdot 10^4,M\leq 10^5\). S ...
- [转]Entity Framework and slow bulk INSERTs
本文转自:https://weblog.west-wind.com/posts/2013/Dec/22/Entity-Framework-and-slow-bulk-INSERTs I’ve been ...
- html特殊字体显示
1.下载需要显示的ttf字体. 2.css样式调用. /* 微软雅黑 */ @font-face { font-family: microsoftyahei; src: url('${pageCont ...
- Java 快速排序法 冒泡排序法 选择排序法 插入排序法
1.快速排序的原理: 选择一个关键值作为基准值.比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的). 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果 ...
- SQL Server 基本UPDATE和DELETE语句
1.UPDATA 基本UPDATE语法:(可以修改多行的列) 2.DELETE