修改表字段属性,SQL总结

06-01 1105阅读

MYSQl

varchar转为mediumtext

ALTER TABLE table_name MODIFY COLUMN column_name mediumtext;

 

ALTER TABLE table_name MODIFY COLUMN column_name varchar(255)

 

1. 修改字段的数据类型

使用 MODIFY COLUMN 可以改变字段的数据类型、长度、默认值或注释,但不会更改字段名称。

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type [constraint];

示例:将 age 字段的数据类型从 INT(4) 修改为 TINYINT(3)。

ALTER TABLE employees MODIFY COLUMN age TINYINT(3) NOT NULL COMMENT '年龄';

2. 修改字段的名称及属性

使用 CHANGE COLUMN 可以同时更改字段名称及其属性。

ALTER TABLE table_name CHANGE old_column_name new_column_name new_data_type [constraint];

示例:将 name 字段重命名为 student_name,并将其数据类型改为 VARCHAR(100)。

ALTER TABLE students CHANGE name student_name VARCHAR(100) NOT NULL COMMENT '学生姓名';

3. 修改字段的默认值

可以通过 MODIFY COLUMN 或 CHANGE COLUMN 来修改字段的默认值。

ALTER TABLE table_name MODIFY COLUMN column_name data_type DEFAULT default_value;

示例:将 salary 字段的默认值设置为 0。

ALTER TABLE employees MODIFY COLUMN salary DECIMAL(10, 2) DEFAULT 0;

修改表字段属性,SQL总结
(图片来源网络,侵删)

4. 添加或删除字段的非空约束

  • 添加非空约束:

    ALTER TABLE table_name MODIFY COLUMN column_name data_type NOT NULL;

    示例:将 name 字段设置为非空。

    修改表字段属性,SQL总结
    (图片来源网络,侵删)

    ALTER TABLE employees MODIFY COLUMN name VARCHAR(50) NOT NULL;

    • 删除非空约束:

      ALTER TABLE table_name MODIFY COLUMN column_name data_type NULL;

      修改表字段属性,SQL总结
      (图片来源网络,侵删)

      示例:将 name 字段设置为可空。

      ALTER TABLE employees MODIFY COLUMN name VARCHAR(50) NULL;

      ORACLE

      NVARCHAR2 转为NCLOB

      • 新增临时字段为NCLOB
        ALTER TABLE COMMON_DATA_AUTOMATIC_CONFIG ADD  TEMP  CLOB;
        • 将需要修改的字段的值设置给临时字段
          UPDATE COMMON_DATA_AUTOMATIC_CONFIG SET TEMP = PARAMETERS_VALUE;
          
          • 删除需要修改的字段
            ALTER TABLE COMMON_DATA_AUTOMATIC_CONFIG DROP COLUMN PARAMETERS_VALUE;
            
            • 修改临时字段的名字为需要修改字段名
              ALTER TABLE COMMON_DATA_AUTOMATIC_CONFIG RENAME COLUMN TEMP to PARAMETERS_VALUE;

              1. 重命名列

              ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

              示例:

              ALTER TABLE employees RENAME COLUMN first_name TO given_name;

              2. 修改列的数据类型

              ALTER TABLE table_name MODIFY (column_name datatype);

              示例:

              ALTER TABLE employees MODIFY (salary NUMBER(10, 2));

              3. 添加新列

              ALTER TABLE table_name ADD column_name datatype;

              示例:

              ALTER TABLE employees ADD bonus NUMBER(10, 2);

              4. 删除列

              ALTER TABLE table_name DROP COLUMN column_name;

              示例:

              ALTER TABLE employees DROP COLUMN bonus;

              5. 修改列的默认值

              ALTER TABLE table_name MODIFY (column_name datatype DEFAULT default_value);

              示例:

              ALTER TABLE employees MODIFY (hire_date DATE DEFAULT SYSDATE);

              6. 修改列的约束

              a. 添加约束

              ALTER TABLE table_name ADD CONSTRAINT constraint_name condition;

              示例:

              ALTER TABLE employees ADD CONSTRAINT chk_salary CHECK (salary > 0);

              b. 删除约束

              ALTER TABLE table_name DROP CONSTRAINT constraint_name;

              示例:

              ALTER TABLE employees DROP CONSTRAINT chk_salary;

               

              KES

              varchar转为text

              ALTER TABLE common_data_automatic_config MODIFY COLUMN parameters_value  TEXT

              1. 修改字段的数据类型

              使用 ALTER TABLE 语句修改列的数据类型:

              ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;

              例如,将 name 列的数据类型从 VARCHAR2(50) 改为 NCLOB:

              ALTER TABLE example_table MODIFY COLUMN name NCLOB;

              2. 修改字段的默认值

              使用 ALTER TABLE 语句修改列的默认值:

              ALTER TABLE table_name MODIFY COLUMN column_name DEFAULT default_value;

              例如,将 salary 列的默认值设置为 0:

              ALTER TABLE employees MODIFY COLUMN salary DEFAULT 0;

              3. 删除字段的默认值

              如果需要删除字段的默认值,可以使用以下命令:

              ALTER TABLE table_name MODIFY COLUMN column_name DEFAULT NULL;

              例如,将 salary 列的默认值设置为 NULL:

              ALTER TABLE employees MODIFY COLUMN salary DEFAULT NULL;

              4. 修改字段的非空约束

              添加或删除字段的非空约束:

              • 添加非空约束:

                ALTER TABLE table_name MODIFY COLUMN column_name NOT NULL;

                例如,将 name 列设置为非空:

                ALTER TABLE employees MODIFY COLUMN name NOT NULL;

                • 删除非空约束:

                  ALTER TABLE table_name MODIFY COLUMN column_name NULL;

                  例如,将 name 列设置为可空:

                  ALTER TABLE employees MODIFY COLUMN name NULL;

                  5. 重命名字段

                  使用 RENAME COLUMN 子句重命名字段:

                  ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

                  例如,将 name 列重命名为 full_name:

                  ALTER TABLE employees RENAME COLUMN name TO full_name;

                  6. 添加新列

                  使用 ADD 子句添加新的列:

                  ALTER TABLE table_name ADD column_name data_type [constraint];

                  例如,添加一个名为 birthdate 的日期列:

                  ALTER TABLE employees ADD birthdate DATE;

                  7. 删除列

                  使用 DROP COLUMN 子句删除列:

                  ALTER TABLE table_name DROP COLUMN column_name;

                  例如,删除 address 列:

                  ALTER TABLE employees DROP COLUMN address;

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码