varchar2变长,最大4k;char定长,效率高但占空间;
--------------------------------------------------------------------------------
number:
NUMBER[(precision [, scale])]
简称:precision --> p
scale --> s
NUMBER(p, s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126
保存在机器内部的范围: 1 ~ 22 bytes
有效为:从左边第一个不为0的数算起的位数。
s的情况:
s > 0
精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
s < 0
精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
s = 0
此时NUMBER表示整数。
eg:
Actual Data Specified As Stored As
----------------------------------------
123.89 NUMBER 123.89
123.89 NUMBER(3) 124
123.89 NUMBER(6,2) 123.89
123.89 NUMBER(6,1) 123.9
123.89 NUMBER(4,2) exceeds precision (有效位为5, 5 > 4)
123.89 NUMBER(6,-2) 100
.01234 NUMBER(4,5) .01234 (有效位为4)
.00012 NUMBER(4,5) .00012
.000127 NUMBER(4,5) .00013
.0000012 NUMBER(2,7) .0000012
.00000123 NUMBER(2,7) .0000012
1.2e-4 NUMBER(2,5) 0.00012
1.2e-5 NUMBER(2,5) 0.00001
123.2564 NUMBER 123.2564
1234.9876 NUMBER(6,2) 1234.99
12345.12345 NUMBER(6,2) Error (有效位为5+2 > 6)
1234.9876 NUMBER(6) 1235 (s没有表示s=0)
12345.345 NUMBER(5,-2) 12300
1234567 NUMBER(5,-2) 1234600
12345678 NUMBER(5,-2) Error (有效位为8 > 7)
123456789 NUMBER(5,-4) 123460000
1234567890NUMBER(5,-4) Error (有效位为10 > 9)
12345.58 NUMBER(*, 1) 12345.6
0.1 NUMBER(4,5) Error (0.10000, 有效位为5 > 4)
0.01234567 NUMBER(4,5) 0.01235
0.09999 NUMBER(4,5) 0.09999
----------------------------------------------------------------------------------------
date;long最大2G
----------------------------------------------------------------------------------------
create table stu_tab
(
id number(6),
name varchar2(20),
grade number(2) default 1 设默认值为1
);
----------------------------------------------------------------------------------------
改表名: alter table stu_tab rename to stu;
改字段名: alter table stu rename column name to stu_name;
改字段类型:alter table stu modify (id number(10));
加字段: alter table stu add (adr varchar2(30));
删字段: alter table stu drop (adr);
分享到:
相关推荐
### ALTER TABLE 语句在Oracle中的应用 #### 标题:ALTER TABLE table_name - **知识点**:在数据库管理系统(DBMS)中,`ALTER TABLE` 是一种用于修改已存在表结构的 SQL 语句。这包括添加、删除或修改列、约束等...
本文将详细探讨在"Oracle使用中经常遇到的问题及解决办法",包括Oracle监听器错误、中文乱码问题、资源正忙的情况、修改Oracle端口以及数据库字符集问题,同时也会介绍如何在命令行下操作Oracle数据库。 首先,...
在 ORACLE 中,重命名(Rename)一个表的命令是 ALTER TABLE old_name RENAME TO new_name,而不是 RENAME old_name TO new_name。 REname 命令只是 SQL*Plus 的命令,不能在其他程序中使用,如果将其放在 Java、...
源码层面,`ALTER TABLE MOVE`的具体实现依赖于数据库管理系统(如Oracle、MySQL等)的内部机制。在Oracle中,这个操作涉及到数据字典的更新、数据文件的读写以及重构建索引等复杂步骤。对于有兴趣深入理解这一过程...
alter table table_name modify column_name varchar2(10); ``` 这个命令适用于所有支持SQL标准的数据库系统。 其次,修改字段名是一个常用的需求。在Oracle中,你可以使用`RENAME COLUMN`子句来实现。假设你想要...
sql> alter table table_name allocate extent (size 500k datafile 'c:/oracle/data.dbf'); ``` **解析**: - `allocate extent`: 分配扩展区。 - `size`: 扩展区大小。 - `datafile`: 数据文件路径。 #### 4.3 ...
Alter table table_name add (new_colum_name datatype [default value] [not null]) 修改列类型 Alter table…modify Alter table table_name modify column_name new_datatype 修改列名 Alter table…rename Alter...
ALTER TABLE Orders ADD CONSTRAINT FK_Employee FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID); -- SQL Server ALTER TABLE Orders ADD CONSTRAINT FK_Employee FOREIGN KEY (EmployeeID) ...
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
- **Oracle:** `ALTER TABLE table_name MODIFY (column_name new_data_type [NULL | NOT NULL]);` **示例:** - **MySQL:** 修改表`table_name`中的`column_name`字段为`BIT`类型且不允许为空。 ```sql ALTER ...
- Oracle:`alter table 表名 rename column 旧列名 to 新列名` - MySQL:`alter table test change column address address1 varchar(30)` 5. **删除数据库**: - SQL Server:`drop database 数据库名` - ...
- Oracle: `ALTER TABLE 子表 ADD CONSTRAINT 外键约束名 FOREIGN KEY (子表的列名) REFERENCES 主表 (列名) ON UPDATE CASCADE / ACTION` - SQL Server: `ALTER TABLE 子表 ADD CONSTRAINT 外键约束名 FOREIGN ...
本文将详细介绍如何使用`ALTER TABLE`命令来增加、修改以及删除字段,并且也会涵盖如何添加和修改表的约束。 #### 一、增加字段 使用`ALTER TABLE`命令增加字段的基本语法如下: ```sql ALTER TABLE 表名 ADD ...
Alter table table_name add (new_colum_name datatype [default value] [not null]) 修改列类型 Alter table…modify Alter table table_name modify column_name new_datatype 修改列名 Alter table…rename Alter...
SELECT 'ALTER TABLE ' || table_name || ' MOVE TABLESPACE 新表空间名;' FROM user_all_tables; SELECT 'ALTER INDEX ' || index_name || ' REBUILD TABLESPACE 新表空间名;' FROM user_indexes; ``` #### 3. ...
- 分区表压缩属性修改:使用ALTER TABLE ... MODIFY PARTITION ... COMPRESS/NOCOMPRESS命令。 - 分区索引压缩属性修改:对分区索引执行类似的修改操作。 - 分区表空间数据压缩:将数据移动到启用压缩的表空间中。 -...
- 示例:`ALTER TABLE table_name RENAME TO new_table_name;` - 更改名称示例:`ALTER TABLE student RENAME TO students;` - **ALTER TABLE**:修改现有表的结构。 - 添加列:`ALTER TABLE table_name ADD ...
Oracle 9i 中的约束可以使用 ALTER TABLE 语句删除,例如: ```sql ALTER TABLE test DROP CONSTRAINT test_ln_uk; DROP TABLE test CASCADE CONSTRAINTS; ``` 在删除表时,需要先删除表的约束,然后才能删除表。...
ALTER TABLE table_name ADD (column_name datatype [NULL | NOT NULL] [default 'default_value']); ``` 例如,向`test3`表中添加一个名为`address`的字段,类型为`VARCHAR2(100)`,默认值为`unkown`: ```sql ...
- Oracle 使用 `ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名` - MySQL 使用 `ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名` 5. **删除数据库**: - SQL Server 使用 `DROP DATABASE 数据库名` - ...