• SQL Alter Table实例讲解


    本教程介绍如何使用SQL ALTER TABLE更改数据库中现有表的结构。

    (更多教程请访问 http://www.manongzj.com

    创建新表后,您可能希望更改其结构,因为业务需求会发生变化。 要修改表的结构,请使用ALTER TABLE语句。 ALTER TABLE语句用于对现有表执行以下操作:

    • 使用ADD子句添加新列。
    • 使用MODIFY子句修改列的属性,例如:约束,默认值等。
    • 使用DROP子句删除列。

    我们将在以下部分详细学习每个操作。

    1. SQL ALTER TABLE ADD列

    以下语句说明了带有ADD子句的ALTER TABLE,该子句用于向表中添加一个或多个列。

    ALTER TABLE table_name
    ADD new_colum data_type column_constraint [AFTER existing_column];
    

    要向表中添加一个或多个列,需要执行以下步骤:

    • 首先,在ALTER TABLE子句之后指定要添加table_name,表示列所在的表。
    • 其次,将新列定义放在ADD子句之后。 如果要在表中指定新列的顺序,可以使用可选子句AFTER existing_column

    注意,如果省略AFTER子句,则将在表的最后一列之后添加新列。

    下面来看看如何将一些新列添加到在create table教程中创建的courses表的示例。

    以下语句将一个名称为credit_hours的新列添加到courses表中。

    ALTER TABLE courses ADD credit_hours INT NOT NULL;
    

    使用单个ALTER TABLE语句向表中添加多个列。 例如,以下语句一次将feemax_limit列添加到courses表中,并将这些列放在course_name列之后。

    ALTER TABLE courses 
    ADD fee NUMERIC (10, 2) AFTER course_name,
    ADD max_limit INT AFTER course_name;
    

    2. SQL ALTER TABLE MODIFY列

    MODIFY子句用于更改现有列的某些属性,例如,NOT NULLUNIQUE和数据类型。

    以下语句显示带有MODIFY子句的ALTER TABLE语句的语法。

    ALTER TABLE table_name
    MODIFY column_definition;
    

    请注意,应该修改没有数据的表的列的属性。 因为更改已包含数据的表中列的属性可能会导致永久性数据丢失。

    例如,如果列的数据类型为VARCHAR,并且将其更改为INT,则数据库系统必须将数据从VARCHAR转换为INT。 如果转换失败,数据库系统可能会使用列的默认值,这可能与预期不符。

    以下ALTER TABLE MODIFY语句将fee列的属性更改为NOT NULL

    ALTER TABLE courses 
    MODIFY fee NUMERIC (10, 2) NOT NULL;
    

    3. SQL ALTER TABLE DROP列

    当表的列已过时且未被任何其他数据库对象(如触发器,视图,存储过程和存储过程)使用时,需要将其从表中删除。

    要删除一个或多个列,请使用以下语法:

    ALTER TABLE table_name
    DROP column_name,
    DROP colum_name,
    ...
    

    例如,要删除courses表中的fee列,请使用以下语句。

    ALTER TABLE courses DROP COLUMN fee;
    

    若要同时删除多个列,请使用以逗号(,)分隔的多个DROP COLUMN子句。

    例如,以下语句删除courses表中的max_limitcredit_hours

    ALTER TABLE courses 
    DROP COLUMN max_limit,
    DROP COLUMN credit_hours;
    

    在本教程中,我们逐步学习了如何使用SQL ALTER TABLE语句在表中添加,修改和删除一个或多个列。

  • 相关阅读:
    Pycharm 新建工程后修改解析器为python3 的方法
    HttpRunner2.X开源接口测试框架学习(七):跳过用例以及重复执行用例
    python习题(一)
    HttpRunner2.X开源接口测试框架学习(九):用例分层机制实战应用
    C# 中的常用正则表达式总结
    缩小SQL Server数据库日志文件
    DataBinder.Eval用法范例
    关于GridView中自定义分页、单选、多选、排序、自增列的简单应用
    退出一个页面时自动清空session变量
    C#代码与javaScript函数的相互调用
  • 原文地址:https://www.cnblogs.com/myhomepages/p/15812358.html
Copyright © 2020-2023  润新知