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

SQL关键字三分钟入门: 表结构管理与分区设计。(ALTER、MODIFY、CHANGE、DEFAULT、VALUES、LESS THAN、RANGE)

前面我们已经学习了如何查询数据SELECT)、筛选数据WHERE)等操作。现在我们要进入数据库的另一个重要领域 —— 表结构管理与分区设计

本文带你快速认识以下关键字:

  • ✅ ALTER
  • ✅ MODIFY
  • ✅ CHANGE
  • ✅ DEFAULT
  • ✅ VALUES
  • ✅ LESS THAN
  • ✅ RANGE

一、ALTER:修改表结构的核心命令

 基本作用

用于修改已有表的结构,比如添加字段、删除字段、重命名表等。

 示例:

-- 添加新列
ALTER TABLE users ADD COLUMN birth_date DATE;-- 删除列
ALTER TABLE users DROP COLUMN phone;-- 重命名表
ALTER TABLE users RENAME TO user_accounts;

 二、MODIFY:修改列的定义

 基本作用

用于更改某个字段的数据类型或属性,但不能重命名字段名

 示例:

-- 修改 email 字段为 VARCHAR(150),并设置非空
ALTER TABLE users MODIFY email VARCHAR(150) NOT NULL;

 三、CHANGE:修改列名和定义

 基本作用

MODIFY 类似,但它还可以重命名字段名

 示例:

-- 将字段 old_name 改名为 new_name,并改变类型
ALTER TABLE users CHANGE old_name new_name VARCHAR(100);

 四、DEFAULT:设定默认值

 基本作用

为字段设置一个默认值,当插入数据时未指定该字段值时,自动使用默认值。

 示例:

-- 创建表时设置默认值
CREATE TABLE orders (id INT AUTO_INCREMENT PRIMARY KEY,status VARCHAR(20) DEFAULT 'pending'
);-- 修改现有字段的默认值
ALTER TABLE orders MODIFY status VARCHAR(20) DEFAULT 'completed';

 五、VALUES:插入数据的核心语法

 基本作用

用于 INSERT INTO 语句中,指定要插入的具体值。

 示例:

-- 插入一行数据
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');-- 插入多行数据
INSERT INTO users (name, email) VALUES
('李四', 'lisi@example.com'),
('王五', 'wangwu@example.com');

 六、LESS THAN:常用于范围分区

 基本作用

用于定义分区规则中的“小于某值”的边界条件,常见于 RANGE 分区。

 示例:

CREATE TABLE sales (id INT,amount DECIMAL(10,2)
) PARTITION BY RANGE (amount) (PARTITION p0 VALUES LESS THAN (1000),PARTITION p1 VALUES LESS THAN (5000),PARTITION p2 VALUES LESS THAN MAXVALUE
);

在这个例子中,销售金额小于1000的数据会存储在 p0 分区中,以此类推。


 七、RANGE:按范围进行分区

 基本作用

用于创建按某一字段值的范围进行分区的逻辑,提升大数据量下的查询效率。

 示例:

CREATE TABLE employees (id INT,salary INT
) PARTITION BY RANGE (salary) (PARTITION low_salary VALUES LESS THAN (3000),PARTITION mid_salary VALUES LESS THAN (8000),PARTITION high_salary VALUES LESS THAN MAXVALUE
);

这样,工资不同范围的员工会被分配到不同的分区中,便于管理与查询优化。


八、总结对比表

关键字用途是否影响数据示例
ALTER修改表结构ALTER TABLE users ADD COLUMN...
MODIFY修改字段定义(不改名)MODIFY email VARCHAR(150)
CHANGE修改字段定义 + 可以重命名字段名CHANGE old_name new_name ...
DEFAULT设置字段默认值VARCHAR(100) DEFAULT 'abc'
VALUES插入具体数据VALUES ('A', 'B')
LESS THAN定义分区的范围边界VALUES LESS THAN (1000)
RANGE按字段值范围划分分区PARTITION BY RANGE (salary)

相关文章:

  • 湖北理元理律师事务所:法律框架下的债务优化与生活重建双轨支持
  • 量子级网络通信系统:超维架构下的开发与星际级交互实现,突破传统边界的异构网络通信矩阵系统设计
  • Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(二)
  • 【算力网络】算网安全
  • 工程师生活:清除电热水壶(锅)水垢方法
  • 记一次jdk版本引起的生产问题
  • 详解鸿蒙Next仓颉开发语言中的全屏模式
  • 【技巧】使用frpc安全地内网穿透ssh访问内网机器
  • AWS数据库迁移实战:本地MySQL零停机上云方案
  • DL___线性神经网络
  • 处理器特性有哪些?
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十五) -> 配置构建(二)
  • C语言笔记(鹏哥)上课板书+课件汇总(KMP算法的动态规划简易处理+字符函数和字符串函数)
  • 【C++特殊工具与技术】联合:节省空间的类
  • QT6与VS下实现没有CMD窗口的C++控制台程序
  • vue3-ts-qrcode :安装及使用记录 / 配置项 / 效果展示
  • 编辑器及脚本案例
  • Android图形系统框架解析
  • 探秘阿里云EBS存储:云计算的存储基石
  • Qt蓝图式技能编辑器状态机模块设计与实现
  • 做网站常用什么软件/关键词大全
  • 06628网页制作与网站建设/百度百度一下
  • 怎么用服务器lp做网站/微商软文推广平台
  • 天津建设厅 注册中心网站/网络营销企业网站优化
  • 网站制作实训/seo教程培训
  • 重庆网站设计建设/推广网站源码