sqlserver修改字段类型,sqlserver修改字段类型自己长度

sql修改字段值的范围

1、字段的修改

目前创新互联已为上千家的企业提供了网站建设、域名、网页空间、网站托管维护、企业网站设计、巴青网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

增加字段

ALTER TABLE 表名 ADD 新字段名数据类型[约束条件]

对语法格式的说明如下:

1.表名 为数据表的名字;

2.新字段名 为所要添加的字段的名字;

3.数据类型 为所要添加的字段能存储数据的数据类型;

4.[约束条件] 是可选的,用来对添加的字段进行约束。

SQL 默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,那么可以使用 FIRST 关键字,语法格式如下:

ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] FIRST;

-- 给actor表首位添加create_date字段

ALTER TABLE actor ADD COLUMN create_date datetime not null DEFAULT '2020-10-01 00:00:00' FIRST;

复制

删除字段

ALTER TABLE 表名 DROP COLUMN 字段名

-- 将actor_new表的actor_id字段删除

alter table actor_new drop column actor_id;

复制

修改字段

1.修改字段名

ALTER TABLE 表名 RENAME COLUMN A to B

-- 将actor_new表的first_name字段名修改为first_name_new

alter table actor_new rename column first_name to first_name_new;

复制

2.修改字段类型

ALTER TABLE 表名 MODIFY COLUMN 字段名 类型

-- 将last_name字段数据类型由varchar(45)修改为char(45)

alter table actor_new modify column last_name char(45) not null;

复制

3.修改字段默认值

ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值

若字段有默认值,则需要先删除字段的约束,在添加新的默认值

根据约束名称删除约束

alter table 表名 alter column 字段名 drop default

-- 若本身存在默认值,则先删除

alter table actor_new alter column last_name drop default;

-- 给last_name添加默认值'洛'

alter table actor_new alter column last_name set default '洛';

复制

4.修改字段位置

将字段的位置修改为数据表的开头位置,使用FIRST关键字将当前字段修改为数据表的第一个字段

ALTER TABLE 表名 MODIFY 字段名 数据类型 FIRST

-- 将字段first_name调整到actor表的首位

ALTER TABLE actor modify first_name varchar(45) FIRST;

复制

将选中字段修改到某字段之后

ALTER TABLE 表名 MODIFY 字段1名称 字段1数据类型 AFTER 字段2名称

-- 将字段first_name调整到last_name之后

ALTER TABLE actor MODIFY first_name varchar(45) AFTER last_name;

复制

2、数据的修改

增加数据

添加数据在SQL篇-创建数据表中有粗略的介绍,这里进行详细说明

1.插入一条新的数据 INSERT INTO 表名[(列1,列2,列3,…)]VALUES(值1,值2,值3,…)

-- 插入数据的sql语句

insert into tablename(col1,col2,col3) values (value1,value2,value3);

复制

2.通过子查询插入数据 INSERT INTO 表名[(列1,列2,列3,…)]子查询

-- 把actor_id=10的用户复制一遍

insert into tablename SELECT * FROM actor WHERE actor_id=10;

复制

删除数据

DELETE FROM 表名 [WHERE 删除条件]

注意:不写删除条件表示删除全部!

-- 删除演员编号是6的演员信息

delete from actor WHERE actor_id=6;

复制

更新数据

1.指定要更新数据的内容

UPDATE 表名 SET [字段=值,字段=值…][WHERE 更新条件]

-- 将SMITH(雇员编号为7)的工资修改为3000元,并且每个月有500元的奖金

update myemp set sal=3000,comm=500 where empno=7;

2.基于子查询的更新

UPDATE 表名 SET (列1,列2,…)=(SELECT 列1,列2,…FROM 表名) [WHERE 查询条件]

-- 将雇员7369的职位、基本工资、雇佣日期更新为与7839相同的信息

update myemp set (job,sal,hiredate) = (select job,sal,hiredate from myemp where empno=7839) where empno=7369;

3.更新替换

-- 将address字段里的 “东” 替换为 “西” ,如下

update test_tb set address=replace(address,'东','西') where id=2

4.插入替换

-- 将id=6的name字段值改为wokou

replace into test_tb VALUES(6,'wokou','新九州岛','日本')

注意:插入替换时,若进行部分替换,则表其余字段要有默认值,否则,要列出该列的所有值

总结:向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用),

如果原表中有id=6这条数据就做替换(相当于update作用),对于没有指定的字段以默认值插入。

SQL server怎样使用ALTER 语句修改字段名

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怎么用语句更改字段名称和类型

sqlserver 怎么更改表字段的数据类型

使用alter语法可以修改,但是需要注意,如果列中存在不可转换到目标类型的数据,alter会失败。

alter table xxx alter column xxx int

SQL语句如何修改主键字段的字段类型类型

首先,修改主键字段的字段类型,肯定是要先删除主键才能操作的

--【1.查找主键】

--SQLSERVER

select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')

--ORACLE

SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'

--【2.删除主键约束】

ALTER TABLE 表名 DROP CONSTRAINT 约束名

--ORACLE

--删除主键连同索引

ALTER TABLE 表名 DROP CONSTRAINT 约束名 CASCADE DROP INDEX;

或者

ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改字段】

--【先把这一列的值备份到临时列里,再把这一列update成null,再修改类型,再把数据拷贝回来】

--SQLSERVER

--默认值单独处理,关联约束

--默认值的变更涉及到约束,如有约束,需要先查询出越是再进行删除

ALTER TABLE 表名 DROP CONSTRAINT 约束名

ALTER TABLE 表名 ALTER COLUMN 字段名 字段类型(长度精度) 是否为空

ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 字段名

--ORACLE

--删除默认值:default null

ALTER TABLE 表名 MODIFY COLUMN 字段名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主键】

--指定主键名字

ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (F1,F2);

--未指定主键名字

ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)

怎么修改sqlserver字段类型

SQL语句:Alter table [表名] Alter column [列名] [列类型]

也可选中表后右键选设计,然后修改字段类型后保存就行

sqlserver200版本数据库问题 我想修改字段数据库类型。

如果你的sql是sql2000varchar最长长度可以是8000,

如果是sql2005以上版本可以支持varchar(max),最长可达2g的字段容量数据

你可以试试,也许你的1024还是不够。


分享文章:sqlserver修改字段类型,sqlserver修改字段类型自己长度
网站链接:http://scyanting.com/article/hcihii.html