zoukankan      html  css  js  c++  java
  • SQL语句修改表

     
     -- 更改字段类型  默认值
     
    alter table 表名 alter column 字段名 类型
    ALTER TABLE 表名 add DEFAULT ('修改后的默认值') for 字段名 WITH VALUES 
     
    --注:如果该字段以前已经有默认值了,在修改之前需要先将约束删除,否则会报错 
    --删约束的SQL: 
    Alter table 表名 drop constraint 约束名 
     
    --关于约束名,需要先查一下, 
    --查约束名的SQL: 
    select c.name from sysconstraints a 
    inner join syscolumns b on a.colid=b.colid 
    inner join sysobjects c on a.constid=c.id 
    where a.id=object_id('表名') 
    and b.name='字段名'  
    
    
    /*
    A. 添加新列
    以下示例将添加一个允许空值的列,而且没有通过 DEFAULT 定义提供的值。
    在该新列中,每一行都将有 NULL 值。
    */
    CREATE TABLE doc_exa ( column_a INT) ;
    GO
    ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL ;
    GO
    DROP TABLE doc_exa ;
    GO
      
    --B. 删除列
    ALTER TABLE doc_exb DROP COLUMN column_b ;
    GO
      
    --C. 更改列的数据类型 
    INSERT INTO doc_exy (column_a) VALUES (10) ;
    GO
    ALTER TABLE doc_exy ALTER COLUMN column_a DECIMAL (5, 2) ;
      
    --D. 添加包含约束的列
    ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL 
        CONSTRAINT exb_unique UNIQUE ;
       
    /*
    E. 在现有列中添加一个 DEFAULT 约束
    以下示例将创建一个包含两列的表,在第一列插入一个值,
    另一列保持为 NULL。然后在第二列中添加一个 DEFAULT 约束。
    验证是否已应用了默认值,另一个值是否已插入第一列以及是否已查询表。
    */
     
     
    ALTER TABLE doc_exz 
    ADD CONSTRAINT col_b_def
    DEFAULT 50 FOR column_b ;
  • 相关阅读:
    关于工作中Git相关的总结
    浅谈MySQL的优化
    由内搜推送思考Kafka 的原理
    SOA和微服务架构
    Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程
    MyISAM和InnoDB索引实现区别
    图解高内聚与低耦合
    图解Java常用数据结构(一)
    Java源码安全审查
    Java高并发之锁优化
  • 原文地址:https://www.cnblogs.com/bdf216/p/3516271.html
Copyright © 2011-2022 走看看