• 改变已有数据表中的列添加列改列名改数据类型改长度增加标识列改主键删除列


    --SQLSERVER 改变已有数据表中的列添加列改列名改数据类型改长度增加标识列改主键删除列 
    --2. 添加新列
    -- 例如为adventurworks 数据库中 employees表添加备注列( Comment ), 数据类型为字符型(变长型,长度字符),
    -- 该列允许为空
    ALTER TABLE table_name
    ADD column_name data_type NULL
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    ADD Comment CHAR ( 50) NULL
    GO
    
     
    --3. 更改列名称
    -- 更改列名称不会影响列中的数据,但如果其他数据库对象引用了已修改的列,则用户必须同时做相应的修改
    -- 将表test13 中的列名由 e 重命名为x
    -- 语法:exec sp_rename ' 表名原列名 ',' 新列名','column';
    USE [pratice]
    GO
    exec sp_rename 'dbo.test13.e', 'x' ,'column' ;
     
    --4. 更改列的数据类型以及长度
    -- 当表中有数据的时候,要注意转换的时候的长度和精度,以及转换的规则
    -- 语法ALTER TABLE table_name
    -- ALTER COLUMN column_name data_type
    
    -- 例如:将Employees 表中的备注列 Remark 的数据类型更改为字符型(变长型,长度为字符)
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    ALTER COLUMN Remark VARCHAR( 255 )
    
    
    
    --5. 增加标识列
    -- 一个表只能有一个列定义为 IDENTITY 属性,而且该列必须以 tinyint, smallint ,int , bigint, numeric ,decimal 数据类型定义,标识符列
    -- 不允许空值。按需指定种子和增量值,二者默认值均为。
      --给 Employees 表添加一个员工编号( EmployeesCode)列,并将其设置为标识列
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    ADD EmployeesCode INT IDENTITY( 1 ,1 ) NOT NULL
     
    --6. 定义主键
    -- 每张表都应该有一个主键,主键可以由一列或者多列组成(复合主键),标识数据的唯一性,提高查询和排序速度
    -- 如果是复合主键,那么这些列的里的数据都不能重复,不单只是某一列
    -- 使用TSQL 语句为表定义主键约束保证数据完整性 -- 为Employees 表添加主键约束,
    -- 将EmployeeID,LoginID,ManagerID 列设置为复合主键
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    ADD CONSTRAINT PK_EMPLOYEES
    PRIMARY KEY CLUSTERED( [EmployeeID] ,[LoginID] , [ManagerID])
    
    -- 当然有添加也会有删除啦把 ADD 改为DROP
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    DROP CONSTRAINT PK_EMPLOYEES
    
    
     
    --7. 删除列
    -- 当表中的某些列确定不再需要时,可以删除该列。在删除前,必须首先删除基于该列的索引和约束
    -- 语法ALTER TABLE table_name
    --DROP COLUMN [COLUMN_NAME]
    -- 删除Employees 表的 Lastname列
    USE [AdventureWorks]
    GO
    ALTER TABLE [HumanResources] .[Employee]
    DROP COLUMN [LastName]
  • 相关阅读:
    【原创】InstallSheild使用问题笔记卸载程序之后重新启动,总是报错找不到文件?
    【学习】关于绩效管理的知识
    【原创】Asp.net MVC学习笔记之基于类型来绑定Model的属性
    【学习】如何进行绩效面谈
    【原创】【续】InstallSheild使用问题笔记卸载程序之后重新启动,总是报错找不到文件?
    SharePoint 2010 学习资料索引与注解(2)
    一张很厉害的图
    SharePoint 2010 学习资料索引与注解(1)
    StackOverflow 并不只是一个问答网站
    最近花了点儿时间看书学习
  • 原文地址:https://www.cnblogs.com/Graham-java/p/8343432.html
Copyright © 2020-2023  润新知