当前位置: 首页 > news >正文

修改表字段属性,SQL总结

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 COLUMNCHANGE 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;

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

ALTER TABLE table_name MODIFY COLUMN column_name data_type NOT NULL;

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

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

  • 删除非空约束

ALTER TABLE table_name MODIFY COLUMN column_name data_type NULL;

示例:将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;

http://www.jsqmd.com/news/437786/

相关文章:

  • 2026年比较好的广州VR影院公司推荐:广州VR影院靠谱公司推荐 - 品牌宣传支持者
  • RAG——从0到1快速搭建RAG应用
  • 剪辑太慢怎么办?别再熬时间,用对方法才是关键
  • C++ Map红黑树实战全解析
  • Git 拉取 暂存 提交 推送 全教程
  • C++ STL list容器详解与实战
  • 2026年热门的广州悬空影院品牌推荐:广州轨道影院本地公司推荐 - 品牌宣传支持者
  • 全网最详细的 Node.js 卸载和安装教程
  • 鸽姆智库(GG3M)军事算法核心解析 |Core Analysis of GG3M Think Tank’s Military Algorithms
  • CISA:VMware Aria Operations RCE漏洞已遭利用
  • 混合云大数据架构:如何实现跨云数据无缝集成?
  • AI赋能离散制造业数字化工厂解决方案
  • 技术专家路线被严重低估了
  • 2026年知名的日照GEO推广品牌推荐:日照GEO推广高评分公司推荐 - 品牌宣传支持者
  • 芯片研发想跟上软件的节奏?
  • 2026年3月4隔夜暗盘挂单排行榜
  • 【深度学习与医学图像分析】深度卷积神经网络:图像分类、目标检测与语义分割
  • 【深度学习与医学图像分析】注意力机制与Transformer网络在医学图像分析中的理论与应用
  • php 使用 gateway-worker 创建websocket 服务器 (双ws架构)
  • 2026年靠谱的日照GEO排名优化品牌推荐:日照GEO排名优化热门公司推荐 - 品牌宣传支持者
  • 2026年比较好的日照GEO品牌推荐:日照GEO推广靠谱公司推荐 - 品牌宣传支持者
  • 电脑游戏卡顿不流畅怎么办?5种解决方法实测有效
  • 13.变量
  • 使用Canal将MySQL数据同步到ES(Linux)
  • 使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
  • GCC 静态链接过程中的【重定位】过程分析
  • 从零到精通精益生产:完整精益生产培训体系全梳理
  • 最新整理!常用的6款免费好用异地组网软件品牌推荐与选择指南
  • 小企业做供应链,为什么从“数据看板”开始最有效?
  • 丝杆模组润滑自检指南