alter table alter column,sql 修改字段类型
alter table alter column,sql 修改字段类型详细介绍
本文目录一览: SQL server怎样使用ALTER 语句修改字段名
alter table 表名 rename column 原名 to 新名
另外一些修改命令
一、修改字段默认值
alter table 表名 drop constraint 约束名字——说明:删除表的字段的原有约束alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称——说明:添加一个表的字段的约束并指定默认值
二、修改字段名
alter table 表名 rename column A to B
三、修改字段类型
alter table 表名 alter column UnitPrice decimal(18, 4) not null
四、修改增加字段:
alter table 表名 ADD 字段 类型 NOT NULL Default 0
拓展资料
TABLE 语句用于在已有的表中添加、修改或删除列。Alter语句 在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下:
ALTER TABLE语句用于修改已经存在的表的设计。
语法:
ALTER TABLE table ADD COLUMN field type[(size)] [NOT NULL] [constraint index]ALTER TABLE table ADD CONSTRAINT multifieldindexALTER TABLE table DROP COLUMN fieldALTER TABLE table DROP CONSTRAINT indexname
说明:
table参数用于指定要修改的表的名称。ADD COLUMN为SQL的保留字,使用它将向表中添加字段。ADD CONSTRAINT为SQL的保留字,使用它将向表中添加索引。DROP COLUMN为SQL的保留字,使用它将向表中删除字段。DROP CONSTRAINT为SQL的保留字,使用它将向表中删除索引。field指定要添加或删除的字段的名称。 type参数指定新建字段的数据类型。size参数用于指定文本或二进制字段的长度。indexname参数指定要删除的多重字段索引的名称。
资料来源:百度百科:ALTER语句
示例:
假设把学生表的“名字”字段改为“name”:
ALTER TABLE 学生表
RENAME COLUMN 名字 TO name
拓展资料SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2017年份推出的SQL SERVER 2017。
版本介绍
SQL Server 2000
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 [1]
SQL Server 2005
Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。
与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
SQL Server 2005 提供了5个不同版本:
SQL Server 2005 Enterprise Edition(32 位和 64 位)——企业版
Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。Enterprise Edition 是最全面的 SQL Server 版本,是超大型企业的理想选择,能够满足最复杂的要求。
SQL Server 2005 Standard Edition(32 位和 64 位)——标准版SQL Server 2005 Standard Edition 是适合中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。Standard Edition 的集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。SQL Server 2005 Standard Edition 是需要全面的数据管理和分析平台的中小型企业的理想选择。
SQL Server 2005 Workgroup Edition(仅适用于 32 位)——工作组版对于那些需要在大小和用户数量上没有限制的数据库的小型企业,SQL Server 2005 Workgroup Edition 是理想的数据管理解决方案。SQL Server 2005 Workgroup Edition 可以用作前端 Web 服务器,也可以用于部门或分支机构的运营。它包括 SQL Server 产品系列的核心数据库功能,并且可以轻松地升级至 SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition。SQL Server 2005 Workgroup Edition 是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。
SQL Server 2005 Developer Edition(32 位和 64 位)——开发版SQL Server 2005 Developer Edition 允许开发人员在 SQL Server 顶部生成任何类型的应用程序。该应用程序包括 SQL Server 2005 Enterprise Edition 的所有功能,但许可用作开发和测试系统,而不用作生产服务器。SQL Server 2005 Developer Edition 是独立软件供应商 (ISV)、咨询人员、系统集成商、解决方案供应商以及生成和测试应用程序的企业开发人员的理想选择。可以根据生产需要升级 SQL Server 2005 Developer Edition。
SQL Server 2005 Express Edition(仅适用于 32 位)——学习版SQL Server Express 数据库平台基于 SQL Server 2005。它也可以替换 Microsoft Desktop Engine (MSDE)。通过与 Microsoft Visual Studio 2005 集成,SQL Server Express 简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。
SQL Server Express 是免费的,可以再分发(受制于协议),还可以充当客户端数据库以及基本服务器数据库。SQL Server Express 是独立软件供应商 ISV、服务器用户、非专业开发人员、Web 应用程序开发人员、网站主机和创建客户端应用程序的编程爱好者的理想选择。如果您需要使用更高级的数据库功能,则可以将 SQL Server Express 无缝升级到更复杂的 SQL Server 版本。
参考资料百度百科_sqlserver
alter table 表名 rename column 原名 to 新名 -- 这一句在SqlServer2000 中实测过,不行。
exec sp_rename '[表名].[列名]','[表名].[新列名]' -- 注意,单引号不可省略。
/* 这一句似是而非,如果真的照此执行,新的列名会变成“[表名].[新列名]”而不是你希望得到的“新列名”,注意,连方括号、点号 都会成为新列名的一部分。
比如 原表名叫 BB ,原列名叫 OldCol ,想改成NewCol ,如果执行 exec sp_rename '[BB].[OldCol]','[BB].[NewCol]' 的话,新的列名会变成很夸张的“[BB].[NewCol]”
所以正确的命令是:exec sp_rename '[BB].[OldCol]','NewCol' -- 注意逗号后面,没有表名,没有点号,没有方括号,执行这句,才能得到你想要的结果“NewCol”,
或者,另一条等价的语句为 exec sp_rename '[BB].[OldCol]',[NewCol] -- 逗号后面,如果要用方括号,就不要同时再用引号 。本语句在SqlServer2000 中实测通过。*/
alter table 表名 rename column 原名 to 新名另外一些修改命令
--一、修改字段默认值alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值--二、修改字段名:alter table 表名 rename column A to B--三、修改字段类型:alter table 表名 alter column UnitPrice decimal(18, 4) not null --三、修改增加字段:alter table 表名 ADD 字段 类型 NOT NULL Default 0
exec sp_rename '[表名].[列名]','[表名].[新列名]'
1、新建一个表:student,用做示例,如图所示。
2、首先修改字段名称,使用sql语句:“execute sp_rename '表名.字段名','新字段名'”,如图所示。
例子修改:execute sp_rename 'student.name','nameNew'
3、然后是修改类型,使用sql语句:“alter table‘表名’ alter column‘字段名称 类型’not null”。
例子修改:alter table student alter column nameNew int not null
扩展资料
在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。
1、向表中添加字段
Alter table [表名] add [列名] 类型
2、删除字段
Alter table [表名] drop column [列名]
3、修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4、添加主键
Alter table [表名] add constraint [ 约束名] primary key( [列名])
5、添加唯一约束
Alter table [表名] add constraint [ 约束名] unique([列名])
6、添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]7、添加约束
Alter table [表名] add constraint [约束名] check (内容)
8、添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9、删除约束
Alter table [表名] drop constraint [约束名]
10、重命名表
exec sp_rename '[原表名]','[新表名]'
11、重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
12、删除主键,以及主键上的索引
alter table table_name drop constraint clusteredName
参考资料:百度经验-sql server怎么用语句更改字段名称和类型
SQL 修改表中的列名(急~~~)
Sql server 中用如下修改
sp_rename 'student_info.姓名','学生姓名','column'
--or
sp_rename 'student_info.姓名','学生姓名'
格式为:sp_rename 'tablenames.[contact title]', 'new_title', 'COLUMN'
1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver数据库中:exec sp_rename '[表名].[列名]‘,’[表名].[新列名]'。
3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。
扩展资料:
SQL中对表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、为表中某列添加约束:大于等于100
alter table 表名 add check(列名>=100)。
3、更改表某列的数据类型为nchar(30):
alter table 表名 alter column 列名 nchar(30)。
4、删除表中某列的相关约束:
alter table 表名 drop constraint 约束名。
5、删除表中的某列:
alter table 表名 drop column 列名。
参考资料:百度百科-SQL语句大全
SQL如何用语句更改字段的数据类型?
修改类型,使用sql语句:
alter table 表名 alter column 字段名称 varchar not null
示例:
新建表如下图所示:
更改name列为varchar,长度为20,如下图:
改完后结果为:
参考资料:百度百科 SQL数据类型 网页链接
ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型[(长度)] NULL或NOT NULL
例:ALTER TABLE 教师 ALTER COLUMN 办公室 CHAR(20) NOT NULL default "办公室"
如果长度足够可以使用
alter table 表名
alter column 字段名称 nvarchar(255)
如果长度不够则需要增加一个列,然后把源数据列进行转换长度后放入
SQL如何用语句更改字段可以用以下语句可以实现:
alter table 表名 alter column 字段名 变更后的字段类型。
注意:
但若是关键字段,带有主键,并且字段类型为用户自定义类型,具有默认值的情况下,用上述语句会出现错误。
例如:
现假设表为TABLE1,关键字段为FIELD1,主键为PK_FIELD1,关键字段的数据类型为用户自定义数据类型 cha_field1,实际为CHAR(10),默认值为dbo.D_field1现要求将字段类型改为 varchar(20),默认值去除错误提示如下:
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'D_field1' 依赖于 列 'field1'。
服务器: 消息 5074,级别 16,状态 1,行 1
对象 'PK_field1' 依赖于 列 'field1'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE ALTER COLUMN field1 失败,因为有一个或多个对象访问此列。
sql 修改字段类型
altertable表名altercolumn字段名typenotnull。
1、修改字段名:
altertable表名renamecolumnAtoB。
2、修改字段默认值:
altertable表名adddefault(0)for字段名withvalues,如果字段有默认值,则需要先删除字段的约束,在添加新的默认值。
3、增加字段:
altertable表名add字段名typenotnulldefault0。
5、删除字段:
altertable表名 dropcolumn字段名。
扩展资料:
alter其他用法
1.重命名表
ALTERTABLE【表名字】RENAME【表新名字】
2.删除表中主键
AlterTABLE【表名字】dropprimarykey
3.添加主键
ALTERTABLEsj_resource_chargesADDCONSTRAINTPK_SJ_RESOURCE_CHARGESPRIMARYKEY(resid,resfromid)
4.添加索引
ALTERTABLE sj_resource_chargesaddindexINDEX_NAME(name);
5. 添加唯一限制条件索引
ALTERTABLEsj_resource_chargesadduniqueemp_name2(cardnumber);
6.删除索引
altertabletablenamedropindexemp_name;
7.联合唯一索引
ALTERTABLEtablename ADDUNIQUEINDEXINDEX_NAME (school_id,settlement_time);
alter ignore tabletablename add unique index(user_id,user_name)
参考资料:百度百科——ALTERTABLE_SQL命令
“alter table modify,alter table alter column”的区别?
“alter table modify,alter table alter column”语法上基本没有区别。两者都是Visual Basic的基本语法。
【知识延展】
Visual Basic编写程序要遵循一定的语法。
在Visual Basic中的基本语句包括:一、赋值语句。二、判定结构。三、循环语句。
alter table modify 语法alter table alter column语法区别
“alter table modify,alter table alter column”语法上基本没有区别。两者都是Visual Basic的基本语法。
【知识延展】
Visual Basic编写程序要遵循一定的语法。
在Visual Basic中的基本语句包括:一、赋值语句。二、判定结构。三、循环语句。
sql server 的语法是ALTER TABLE ... ALTER COLUMN。
ALTER TABLE ... MODIFY 是orcale的语法。
alter table modify 语法和alter table alter column语法基本没有区别,且都是Visual Basic的基本语法。
Visual Basic编写程序要遵循一定的语法。
在Visual Basic中的基本语句包括:
一、赋值语句。
赋值语句的语法如下:
变量名或对象.属性=表达式
它的含义是把等号右边的值赋给等号左边的值。
二、判定结构。
一、If语句。
用If...Then结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:
If condition Then statement
If condition Then
Statements
End If
Condition 通常是比较式,但它可以是任何计算数值的表达式。Visual Basic 将这个值解释为True或False:一个为零的数值为False,而任何非零数值都被看作True。若condition为True,则Visual Basic执行Then
关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句。
注意:If...Then的单行格式不用End If语句。如果condition为True时要执行多行代码,则必须使用多行块If...Then...End If语法。
二、If...Then...Else语句。
用If...Then...Else块定义几个语句块,执行其中一个语句:
If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] ...
[Else
[statementblock-n]]
End If
Visual Basic首先测试condition1。如果它为False,Visual Basic就测试
condition2,依次类推,直到找到一个为True的条件。当它找到一个为
True的条件时,Visual Basic就会执行相应的语句块,然后执行End If后面的代码。作为一个选择,可以包含Else语句块,如果条件都不是True,则Visual Basic执行Else语句块。
If...Then…ElseIf只是If...Then...Else的一个特例。注意,可以使用任意数量的
ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf
子句。
二、循环语句。
电脑最擅长的就是不厌其烦地重复做一项工作成千上万遍(即重复执行几行代码),这就是通过循环结构来完成的。VB支持的循环结构有:Do…Loop和For…Next。
用Do循环重复执行一个语句块,且重复次数不定。Do…Loop是以计算数值为条件以决定是否继续执行。条件必须是一个数值或者值为True或False的表达式。
在下面的Do…Loop循环中,只要条件为真就执行循环。
Do While 循环条件
循环语句块
Loop
当Visual Basic执行到这个Do循环时首先测试条件,条件为假时,跳过所有语句。如果条件为真,Visual Basic就会执行语句,退回到Do While语句测试条件。只要条件为真,循环可以随意执行几次。如果条件一开始便为假,则不会执行语句。
还有一种Do…Loop语句,是先执行语句,每次执行之后测试条件,循环中的语句至少执行一次。
Do
循环语句块
Loop While 循环条件
在不知道循环要执行几次语句时,用Do循环,知道循环次数时,可以使用For…Next循环。For循环使用一个叫做计数器的变量,重复一次循环之后,计数器的值会增加或减少。
For 计数器=初值To终止值Step增量
循环语句块
Next 计数器
计数器、初值、终止值和增量为数值型。执行For循环时,设置计数器等于初值,测试计数器是否大于终止值,是则退出循环,执行循环语句,计数器增加增量后重复以上步骤。
用Exit语句可以退出For循环、Do循环,它的语法是Exit Do和Exit For,在循环中出现的次数无限制。
怎么把数据库中的某个表的某个字段默认值设为0?
分两种情况,一种是此表中并没数据,一种是表中已存在数据。
针对第一种:
alter table 表名 alter column 字段 set default 0;针对第二种情况:
update tablename set 字段=0;alter table 表名 alter column 字段 set default 0;
sqlserver的写法:
ALTER TABLE [dbo].[表名] ADD CONSTRAINT [DF_表名_列名] DEFAULT ((默认值)) FOR [列名]
在建表的时候设置默认值.
或者
ALTER TABLE table
MODIFY (column datatype [DEFAULT expr]
[, column datatype]...);
PostgerSql中是这么定义的
modify int4 DEFAULT 2
其中modify 是字段名 int4 是数据类型,2是默认值
1、打开数据库连接,此时显示已创建的数据库。
2、展开要操作的数据库下的所有表。
3、右击要操作的表,选择【改变表】。
4、此时显示表编辑界面,此显示已有的字段。
5、点击要修改的字段的【默认】位置,输入默认值0。
6、点击【保存】,此时字段的默认值0就设置好了。
sql语句怎么把不允许为空的属性修改为允许为空??
取消非空约束就是alter table
modify
null;
举个例子:alter table temp modify sex varchar(2) null;
可能是唯一主键吧,否则是可以该的。
alter table 表名 modify 字段名 null;不需要跟上类型
alter table 表名 alter column 列名 类型长度 null
中文处替换一下就行
比如原来类型是varchar(10)
alter table 表名 alter column 列名 varchar(10) null
sql 更改默认值
更改默认值方法如下:
1、先创建一个表,给出默认值。此时sex字段默认值为“男”。
create table test(id int,sex varchar(2) default '男')2、将默认值修改为“女”。需要分为三步:
a.先找到表中默认值约束的名称,如图:
b.删除此约束:
alter table test drop constraint DF__test__sex__658C0CBDc.重新建立新的约束:
alter table test add constraint DF__test__sex__658C0CBD DEFAULT (('女')) for sex
update
表名 set
字段名=值 where
字段名=值
alter table `characters` modi `zhuan` int(10) NOT NULL default 20;
sql server
alter table characters alter column zhuan int(10) not null default '20'
oracle
alter table characters modify(zhuan int(10) not null default '20');
alter table `characters` change `zhuan` int(10) NOT NULL default '20';
命名为:
alter table tablename alter column drop default; (若本身存在默认值,则先删除)alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)
eg:
alter table `t_member_base_ext` alter member_autograph drop default;
alter table `t_member_base_ext` alter member_autograph set default null;
- t_member_base_ext 表名
- member_autograph 表字段
扩展资料:注意事项
一、ONLY_FULL_GROUP_BY 对于使用 GROUP BY 进行查询的SQL,不允许 SELECT 部分出现 GROUP BY 中未出现的字段,也就是 SELECT 查询的字段必须是 GROUP BY 中出现的或者使用聚合函数的或者是具有唯一属性的。
二、STRICT_TRANS_TABLES
该选项针对事务性存储引擎生效,对于非事务性存储引擎无效,该选项表示开启strict sql模式。在strict sql模式下,在INSERT或者UPDATE语句中,插入或者更新了某个不符合规定的字段值,则会直接报错中断操作。
三、NO_ZERO_IN_DATE
MySQL中插入的时间字段值,不允许日期和月份为零。
四、NO_ZERO_DATE
MySQL中插入的时间字段值,不允许日期为零。
五、ERROR_FOR_DIVISION_BY_ZERO
INSERT或者UPDATE语句中,如果数据被0除,则出现警告(非strict sql模式下)或者错误(strict sql模式下)。
ALTER TABLE语句里的关键字问题
修改字段:
ALTER
TABLE
[表名]
ALTER
COLUMN
[字段名]
NVARCHAR
(50)
NULL
你要是想增加或删除约束用
新建约束:
ALTER
TABLE
[表名]
ADD
CONSTRAINT
约束名
CHECK
([约束字段]
<=
'2000-1-1')
删除约束:
ALTER
TABLE
[表名]
DROP
CONSTRAINT
约束名
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
你要是想增加或删除约束用
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名