`
zhang_215
  • 浏览: 14716 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

SQL Server 大表加非空字段

阅读更多
对于千万级以上的大表加非空的字段有三种方法:

1.直接加非空有默认值
ALTER TABLE dbo.TableA ADD Column_1 money NOT NULL CONSTRAINT DF_TableA_Column_1 DEFAULT 0
缺点:不能预估执行时间,执行时会锁住表,如果执行很久的话要考虑对生产环境的影响。
2.加运行为空;
  然后分批次更新为默认值;
  最后更改字段为非空有默认值

3.建立一个与原表TableA同样构架的表TableB,TableB加上非空有默认值的字段;
  TableB中插入数据;
  原表A重命名为其他表明(如TableA@20130901),TableB重命名为TableA。
优点:选项3,这可能是最好的,因为你仍然可以在数据库中“活”的,而这个操作是怎么回事。 如果您使用选项1,

表被锁定的操作发生时,那么你就真的坚持。

如有其他更好方法,欢迎留言。
0
2
分享到:
评论

相关推荐

    SQL Server如何保证可空字段中非空值唯一

    在SQL Server中,确保可空字段中非空值的唯一性是一个常见的需求,尤其是在设计数据库表结构时。这里我们探讨三种方法来实现这一目标。 首先,我们看问题的背景:存在一个表`test_tb`,其中包含一个允许为空的字段`...

    sql server字符串非空判断实现方法

    在SQL Server中,字符串非空判断是一个常见的需求,特别是在处理用户输入或者数据处理时,确保字段不为空可以避免出现错误或异常。标题提到的是一种利用T-SQL(Transact-SQL)实现的方法,通过创建一个自定义函数来...

    SQLSERVER表结构对比

    "SQLSERVER表结构对比"这个主题涉及到如何比较两个SQL Server数据库中的表定义,包括字段、索引、约束以及存储过程等差异。 SQL Server 2008 R2是在Windows 2008 R2 64位操作系统上运行的一个强大关系型数据库管理...

    sqlserver数据库表相关操作

    在SQL Server中,如果需要更改表中的某个字段名称,可以使用`sp_rename`存储过程来完成这一任务。此过程不仅更改了字段名,同时也保留了原有的依赖关系。 **语法格式**: ```sql sp_rename '表名.原字段名', '表名....

    SQL Server 模拟试卷

    在SQL Server模拟试卷中,我们可以看到一系列关于SQL Server基础知识的问题,这些问题涵盖了数据库管理、查询语言、数据类型、表操作、索引、视图、系统变量以及子查询等多个方面。以下是这些知识点的详细解释: 1....

    SQL Server 基础

    在SQL Server中,创建表使用CREATE TABLE语句,定义表的字段、数据类型、主键以及任何其他约束。检查约束是确保数据完整性的规则,例如非空约束(NOT NULL)、唯一约束(UNIQUE)和外键约束,这些约束能保证数据的...

    SQL Server允许重复空字段不空字段值唯一

    在SQL Server数据库中,设计表结构时,有时我们需要确保某个字段的非空值是唯一的,但同时允许该字段为空并且可以有多个空值。在给定的标题和描述中,讨论了一个具体的问题和几种解决方案。 首先,问题在于创建了一...

    SQL Server CROSS APPLY和OUTER APPLY的应用详解

    在SQL Server 2000中,我们通常使用CROSS JOIN来实现简单的交叉联接,但是当试图将表值函数的参数设置为另一表的字段时,会出现问题,因为CROSS JOIN不支持这种操作。例如: ```sql -- 错误示例:CROSS JOIN无法...

    SQLserver数据表结构查看器

    SQL Server 数据表结构查看器是一款实用工具,专为数据库管理员和开发人员设计,用于便捷地检查和理解SQL Server数据库中的表结构。通过这款工具,用户可以直观地查看表的字段、数据类型、键约束、索引等信息,而...

    基于c#和sqlserver的学生信息管理系统——数据库大作业.zip

    在本项目中,SQLServer将用于存储学生信息,包括姓名、学号、班级、成绩等字段。开发者可以通过SQL语句进行数据操作,如INSERT(插入)、SELECT(查询)、UPDATE(更新)和DELETE(删除),实现对学生数据的动态管理...

    SQL Server ppt教学

    SQL Server支持各种类型的约束,如非空约束(NOT NULL)、唯一约束(UNIQUE)、主键约束(PRIMARY KEY)和外键约束(FOREIGN KEY),它们用于维护数据的一致性和准确性。此外,还可以设置默认值(DEFAULT)和触发器...

    sqlserver 2008 创建数据表 详解

    ### SQL Server 2008 创建数据表 详解 #### 表的概述 表作为关系数据库中最基础且关键的组成部分,扮演着存储和操作数据的角色。在SQL Server 2008中,表的设计和使用至关重要。表由一系列行和列构成,其中行代表...

    SQLServer数据库实体类生成器

    实体类生成器与SQLServer的集成,使得开发者可以直接从数据库表结构自动生成对应的C#类,这些类包含了数据库表的字段信息,通过属性映射到数据库的列。 实体类的主要功能包括: 1. **属性映射**:每个字段对应一个...

    SQL Server数据库实验指导书 实验教程 数据库实验02 通过SQL语句创建与管理数据表.pdf

    在创建表时,定义了字段的名称、数据类型、约束条件,如主键、外键、非空和默认值。 表结构的管理包括添加和删除列以及约束。添加列使用`ALTER TABLE ADD COLUMN`,并可以设置约束,如检查身高是否小于3.0米。删除...

    根据word文档生成SQL语句(SQLServer) 及 实体类

    在这个例子中,我们定义了一个名为Customers的表,包含三个字段:CustomerID(主键)、FirstName(非空)和LastName,以及Email(唯一)。 至于“实体类”,这是面向对象编程中的一个重要概念,尤其是在使用ORM...

    如何将Access数据库文件(.mdb)导入sql server2000.doc

    因此,所有此类字段在导入后会变为非空字段。你需要手动修改这些字段,将它们设置为标识列,种子设为“1”,增量为“1”。 2. **布尔类型字段**:Access中的“是/否”字段在导入后会变成SQL Server中的“bit”类型...

    sql20200215_sqlserver_sql批量插入_

    在SQL Server中,批量插入数据是一项常见的操作,尤其在处理大量数据时,高效的批量插入能够显著提高工作效率。本文将详细讲解如何使用SQL语句进行建表以及批量插入数据。 首先,我们来创建一个表。假设我们需要...

    sql server建库、表和约束

    在SQL Server中,数据库是存储数据的容器,而表则是数据的结构化组织形式。约束则是确保表中数据完整性的一种规则。以下将详细介绍如何在SQL Server中创建数据库、表格以及添加约束。 首先,我们来讨论如何创建...

Global site tag (gtag.js) - Google Analytics