SQLServer修改数据列
修改数据列
在开发和生产过程中,列名的拼写错误或者列名的更改是需要操作数据表的,大多数情况下都是不需要修改的.
以下几种情况下我们并不能直接修改数据列:
1、用于索引的列。
2、用于 CHECK、FOREIGN KEY、UNIQUE 或 PRIMARY KEY 约束的列。
3、与默认值(由 DEFAULT 关键字定义)相关联的列,或绑定到默认对象的列。
4、绑定到规则的列。
使用SSMS数据库管理工具修改列
1、连接数据库,打开要修改的数据库,选择数据表-》右键点击-》选择设计。
2、在新打开的窗口视图中-》点击要修改的行-》可以修改列名、列类型、是否可空、属性等-》修改完成点击保存按钮(或者ctrl+s)。
使用T-SQL脚本修改列
修改列名
语法:exec sp_rename 表明.旧列名,新列名;
示例:exec sp_rename '[test1].height6','height7';
修改列数据类型
语法:alter table 数据库名.dbo.表名 alter column 列名 类型 [约束];
示例:alter table [testss].dbo.[test1] alter column height7 int null;
修改列是否可空
语法:alter table 数据库名.dbo.表名 alter column 列名 类型 约束;
示例:alter table [testss].dbo.[test1] alter column height7 int not null;
修改列默认值
如果默认值不存在
语法:alter table 数据库名.dbo.表名 add constraint 约束名 default 默认值 for 列名;
示例:alter table [testss].dbo.[test1] add constraint df_h default 1 for height7;
如果默认值存在
语法:
--第一步判断默认值否存在,如果存在就删除,如果不存在则不删除
if exists (select * from sys.check_constraints where object_id = object_id(默认值约束名) and parent_object_id = object_id(表名))
alter table 表名 drop constraint 默认值约束名
--第二步添加默认值
alter table 表名 add constraint 约束名 default 默认值 for 列名;
示例:
--第一步判断约束是否存在,如果存在就删除,如果不存在则不删除
if exists (select * from sys.check_constraints where object_id = object_id('df_h') AND parent_object_id = object_id('[testss].dbo.[test1]'))
alter table [testss].dbo.[test1] drop constraint df_h
--第二步添加默认值
alter table [testss].dbo.[test1] add constraint df_h default 2 for height7;
总结
在开发或者生产数据库中,数据列一经建好,不要轻易改动,随意改动可能会引起数据库的级联操作失败和代码错误。
SQLServer修改数据列的更多相关文章
- SQLServer删除数据列
删除数据列 开发或者生产过程中多建.错误或者重复的数据列需要进行删除操作. 使用SSMS数据库管理工具删除数据列 方式一 1.打开数据库->选择数据表->展开数据表->展开数据列-& ...
- sqlserver修改一个列
--修改一个列alter table UserInfo alter Column [Address] nvarchar(64) null
- Oracle与SQLSERVER修改数据文件的路径
1. SQLSERVER ALTER DATABASE CWBASEMSS modify file (name = cwbasemss_dat ,filename = 'c:\cwdata\mss\C ...
- SQLSERVER 修改数据实例的排序规则
SQL Server服务器修改排序规则的方法 操作及验证步骤: 1 登录数据库后,查看当前安装数据库默认排序规则的两种方式 方式一.使用SQL Server 2014 Management Studi ...
- SQLServer修改表数据
使用SSMS数据库管理工具修改数据 修改任意一条或者多条都可以 1:打开数据库,选择数据表,右键点击->编辑所有行(如未配置,点击编辑前200行). 2.编辑需要修改的数据->编辑完成后, ...
- C# 修改DataTable 列的 DataType
/// <summary> ///当DataTable中有值时,是不允许修改列的DataType /// 修改数据表DataTable某一列的数据类型和记录值 /// </summa ...
- SqlServer创建数据表描述及列描述信息
SqlServer创建数据表描述及列描述信息 Intro Q: 为什么要创建描述信息? A: 鼠标悬停在对应表和列上时,会出现描述信息,可以提高工作的效率,借助工具我们根据数据表可以生成Model,可 ...
- SQLServer之通过视图修改数据
通过视图增删改数据注意事项 需要对目标表的 UPDATE.INSERT 或 DELETE 权限(取决于执行的操作). 如果视图引用多个基表,则不能删除行. 如果视图引用多个基表,只能更新属于单个基表的 ...
- SQLServer判断指定列的默认值是否存在,并修改默认值
SQLServer判断指定列的默认值是否存在,并修改默认值 2008年10月21日 星期二 下午 12:08 if exists(select A.name as DefaultName,B.name ...
随机推荐
- Hive篇--相关概念整理一
一.前述 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低 ...
- 基于 Redis 的分布式锁
前言 分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三. 首先谈到分布式锁自然也就联想到分布式应用. 在我们将应用拆分为分布式应用之前的单机系统 ...
- java多线程(6)---ThreadLocal
ThreadLocal 什么是ThreadLocal? 顾名思义它是local variable(线程局部变量).它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可 ...
- K60平台智能车开发工作随手记
(图片仅为示例,并不一定固定为这种造型) 第十二届全国大学生智能汽车竞赛有一个分项是光电四轮车的竞速(任务A),Seven她们组采购到的配件使用了freescale Crotex-M4内核的CPU,T ...
- SpringCloud Config服务端
1.导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId> ...
- SpringBoot技术栈搭建个人博客【项目准备】
前言:很早之前就想要写一个自己的博客了,趁着现在学校安排的实习有很多的空档,决定把它给做出来,也顺便完成实习的任务(搞一个项目出来...) 需求分析 总体目标:设计一套自适应/简洁/美观/易于文章管理 ...
- 简单的SQL注入之2
Topic Link http://ctf5.shiyanbar.com/web/index_2.php 一.方法One sqlmap直接跑出来 1)暴库 2)爆表 3)爆段 4) 结果 二.方法Tw ...
- uabntu18.04 安装mysql5.7
原以为安装mysql就是一键的事情,结果还弄了有一阵子... 首先需要安装mysql的服务器.客户端和依赖, sudo apt-get install mysql-serversudo apt ins ...
- 【面试】我是如何面试别人List相关知识的,深度有点长文
- ES6躬行记(16)——Set
ES6引入了两种新的数据结构:Set和Map.Set是一组值的集合,其中值不能重复:Map(也叫字典)是一组键值对的集合,其中键不能重复.Set和Map都由哈希表(Hash Table)实现,并可按添 ...