本文目录一览

1,怎样修改ORACLE数据库中的数据类型

使用下面的语句重定义字段类型: alter table table_name modify 字段 varchar(12); ※varchar后面的长度根据你自己的实际情况设定。 -- 以上,希望对你有所帮助。
那你不要用date类型,用字符串varchar2类型,其实你插入有年份有什么关系,你用的时候可以不用的

怎样修改ORACLE数据库中的数据类型

2,SQL 数据类型的改变

表)右键,设计表,点类型,下来框中选择int
SQL Server 2005:在 SQL Server Management Studio Express 中SQL Server 2000:在 企业管理器 中 在 数据库 节点中找到 你的 数据库,再找到 employee 表,点右键,...
区别:同一类型有好几个表示类型的,那是由于同一类型的数据,他的长度不同。 unicode:表示字符集或者是编码方式。

SQL 数据类型的改变

3,mysql数据库表修改某一列的类型

下面列出: 1.增加一个字段 alter table user add column new1 varchar(20) default null; //增加一个字段,默认为空 alter table user add column new2 varchar(20) not null; //增加一个字段,默认不能为空 2.删除一个字段 alter table user drop column new2; //删除一个字段 3.修改一个字段 alter table user modify new1 varchar(10); //修改一个字段的类型 alter table user change new1 new4 int; //修改一个字段的名称,此时一定要重新 //主键 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); //增加一个新列 alter table t2 add d timestamp; alter table infos add ex tinyint not null default 0′; //删除列 alter table t2 drop column c; //重命名列 alter table t1 change a b integer; //改变列的类型 alter table t1 change b b bigint not null; alter table infos change list list tinyint not null default 0′; //重命名表 alter table t1 rename t2; 加索引 mysql> alter table tablename change depno depno int(5) not null; mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]); mysql> alter table tablename add index emp_name (name); 加主关键字的索引 mysql> alter table tablename add primary key(id); 加唯一限制条件的索引 mysql> alter table tablename add unique emp_name2(cardnumber); 删除某个索引 mysql>alter table tablename drop index emp_name; 增加字段: mysql> alter table table_name add field_name field_type; 修改原字段名称及类型: mysql> alter table table_name change old_field_name new_field_name field_type; 删除字段: mysql> alter table table_name drop field_name; mysql修改字段长度 alter table 表名 modify column 字段名 类型; 例如 数据库中user表 name字段是varchar(30) 可以用 alter table user modify column name varchar(50) ;

mysql数据库表修改某一列的类型

4,SQL数据类型更改

float、char长度是多少位我记不住了,如果float长度大于char时,有些数据会溢出。 所以用户varchar吧。如:alter table t1alter column a nvarchar(10)
sql字符类型介绍 一,名词定义 char为 定长字符型,如char(10),你实际数据是hello,这时sql server 会自动补充空格,填满10位。varchar:可变长字符,没有上述问题,是多长就保存多长的数据。另外, char 和 varchar 在存储数据时,每个英文字符和数字都占一个字节,而一个中文的字符会占两个字节. nchar 与 nvarchar 的用法基本相同,只不过在存储数据时采用的是 unicode元码, 一个英文字符和一个中文字符所占的空间是相同的.都是两个字节. 二、名词解释 1、当使用非unicode时慎用以下这种查询: select f from t where f = nxx 原因:无法利用到索引,因为数据库会将f先转换到unicode再和nxx比较 2、char 和相同长度的varchar处理速度差不多(后面还有说明) 3、varchar的长度不会影响处理速度(看后面解释) 4、索引中列总长度最多支持总为900字节,所以长度大于900的varchar、char和大于450的nvarchar,nchar将无法创建索引 5、text、ntext上是无法创建索引的 6、o/r mapping中对应实体的属性类型一般是以string居多,用char[]的非常少,所以如果按mapping的合理性来说,可变长度的类型更加吻合 7、一般基础资料表中的name在实际查询中基本上全部是使用like %xx%这种方式,而这种方式是无法利用索引的,所以如果对于此种字段,索引建了也白建 8、其它一些像remark的字段则是根本不需要查询的,所以不需要索引 9、varchar的存放和string是一样原理的,即length {block}这种方式,所以varchar的长度和它实际占用空间是无关的 10、对于固定长度的字段,是需要额外空间来存放null标识的,所以如果一个char字段中出现非常多的null,那么很不幸,你的占用空间比没有null的大,这时候,你可以使用特殊标识来存放,如:nv 11、同上,所以对于这种null查询,索引是无法生效的,假如你使用了null标识替代的话,那么恭喜你,你可以利用到索引了 12、char和varchar的比较成本是一样的,现在关键就看它们的索引查找的成本了,因为查找策略都一样,因此应该比较谁占用空间小。在存放相同数量的字符情况下,如果数量小,那么char占用长度是小于varchar的,但如果数量稍大,则varchar完全可能小于char,而且要看实际填充数值的充实度,比如说varchar(3)和char(3),那么理论上应该是char快了,但如果是char(10)和varchar(10),充实度只有30%的情况下,理论上就应该是varchar快了。因为varchar需要额外空间存放块长度,所以只要length(1-fillfactor)大于这个存放空间(好像是2字节),那么它就会比相同长度的char快了。 13、nvarchar比varchar要慢上一些,而且对于非unicode字符它会占用双倍的空间,那么这么一种类型推出来是为什么呢?对,就是为了国际化,对于unicode类型的数据,排序规则对它们是不起作用的,而非unicode字符在处理不同语言的数据时,必须指定排序规则才能正常工作,所以n类型就这么一点好处。 三、名词总结 1、如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char 2、能确定长度又不一定是ansi字符或者,那么用nchar; 3、不确定长度,要查询且希望利用索引的话,用nvarchar类型吧,将它们设到400; 4、不查询的话没什么好说的,用nvarchar(4000) 5、性格豪爽的可以只用3和4,偶尔用用1,毕竟这是一种额外说明,等于告诉别人说,我一定需要长度为x位的数据 (这些字符型在网上都能搜索到的,搜搜看那,给你几个网址: http://blog1.poco.cn/myblogdetail.htx&id=1619242&userid=40517719&pri=&n=0 http://www.w3school.com.cn/sql/sql_syntax.asp )

5,修改Access数据库表的数据类型

用ALTER语句先用ALTER另建一个字段, 为备注型, 然后把数据拷入此字段, 再把原字段删除. 如果需要保存原字段名, 还可以先建个字段, 把数据拷入后, 删除原字段, 再建一个与原字段名相同的字段, 再拷一次数据.也许没有有这么复杂, 具体的你看ALTER的用法吧, 看可不可以直接更改字段名, 以前我用VF的时候处理过这类问题.ALTER的语法见后:ALTER TABLE 语句 修改已用 CREATE TABLE 语句创建的表的设计。注释 Microsoft Jet 数据库引擎 不支持对非 Microsoft Jet 数据库使用 ALTER TABLE 语句或任何数据定义语言 (DDL) 语句。可以使用 DAO Create 方法代替。语法ALTER TABLE table ALTER COLUMN field type[(size)] |CONSTRAINT multifieldindex} |DROP ALTER TABLE 语句有以下部分:部分 说明 table 要修改的表的名称。 field 要添加进 table 中或者从 table 中删除的字段名称。或者是要在 table 中修改的字段名称。 type field 数据类型。 size 以字符数为单位的字段大小(仅限于文本和二进制字段)。 index field 的索引。 multifieldindex 定义将要添加到 table 中的多字段索引。 indexname 将要删除的多字段索引的名称。 说明通过 ALTER TABLE 语句可以用多种方式修改一个现有的表。您可以:使用 ADD COLUMN 向表中添加新字段。可以指定字段名称、数据类型和可选大小(对于文本和二进制字段)。例如,以下语句将一个称为 Notes 的、大小为 25 的字符文本字段添加到 Employees 表中: ALTER TABLE Employees ADD COLUMN Notes TEXT(25)也可以定义该字段的索引。 如果指定一个字段为 NOT NULL,那么新记录的该字段必需有有效数据。使用 ALTER COLUMN 可更改现有字段的数据类型。可以指定字段名称、新的数据类型及文本和二进制字段的可选大小。例如,以下语句将 Employees 表中称为 ZipCode(原先定义为整数)字段的数据类型更改为一个大小为 10 个字符的文本字段: ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)使用 ADD CONSTRAINT 可添加一个多字段索引。 使用 DROP COLUMN 可删除字段。只需指定字段的名称。 使用 DROP CONSTRAINT 可删除多字段索引。只需在 CONSTRAINT 保留字后面指定索引名称。 注释不能一次添加或删除多个字段或索引。 可以使用 CREATE INDEX 语句向表中添加单字段或多字段的索引,并且可以使用 ALTER TABLE 或者 DROP 语句删除一个使用 ALTER TABLE 或 CREATE INDEX 创建的索引。 可以对单字段使用 NOT NULL,或者在一个命名的 CONSTRAINT 子句内(该子句应用于一个单字段或一个多重字段的命名 CONSTRAINT)使用 NOT NULL。然而,NOT NULL 限制一次只能应用于一个字段。试图将此限制一次运用于多个字段会产生运行时错误。
我看不懂,如果想改,就把表的属性改为“备注”就ok了,与SQL无关吧……
应该是该数据表数据量过大或者虚拟内存设置不正确造成的 可以尝试增加虚拟内存或者更改页面文件保存位置,放到比较大剩余空间的分区
我明白楼主的意思,楼主是想动态修改表的数据类型吧,占个位置想到再告诉你
Microsoft Jet数据库引擎SQL和SQL-SERVER的SQL都没有操作备注类型的操作(比如文本类型是TEXT,整型是INTEGER,而备注则没有),所以不能直接转换。不过在Microsoft Jet数据库引擎中在当 Field 的 Value 属性已被指定并且数据提供者通过调用 Fields 集合的 Update 方法成功添加了新的 Field 时,Type 字段可以读/写。这时可以设置可以把adLongVarWChar,就是Access认为的备注类型其长度为536870910。不过我没这样操作过,也不知道有什么结果,你还是自己试一试把,我个人认为没什么重要的问题,还是用TEXT类型代替吧。

文章TAG:数据库变更类型有哪些  怎样修改ORACLE数据库中的数据类型  
下一篇