LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL表操作命令全景解析

admin
2025年8月30日 12:57 本文热度 209

SQL表操作是数据库管理的核心技能,涵盖结构定义(创建/修改/删除表)与元数据查询(查看表结构)四大操作。下面按SQL表操作的操作类型进行解析:


一、创建表(CREATE TABLE)

作用:定义新表的结构(字段名、数据类型、约束等)
基本语法

CREATE TABLE 表名 (
    字段名1 数据类型 [约束条件],
    字段名2 数据类型 [约束条件],
    ...
);

语法元素说明

元素
说明
是否必选
CREATE TABLE
固定关键字
表名
需遵循数据库命名规范(通常小写+下划线)
字段名
列的唯一标识符
数据类型
定义字段存储格式(如整数、文本、日期等)
约束条件
可选规则(如主键PRIMARY KEY、非空NOT NULL

数据类型说明

类型
说明
示例值
INT
整型(-2^31 ~ 2^31-1)
18
VARCHAR(n)
可变长度字符串(n=最大字符数)
'张三'
CHAR(n)
定长字符串(不足长度用空格填充)
'M'
DATE
日期(YYYY-MM-DD)
'2005-08-12'
DECIMAL(p,s)
精确小数(p=总位数, s=小数位数)
99.95
BOOLEAN
布尔值(TRUE/FALSE)
TRUE

返回值

  • 成功:无直接数据返回,在系统表(如information_schema.tables)中注册新表
  • 失败:返回错误信息(如语法错误、表名冲突)

应用示例:创建学生表

需求描述:建立学生信息表,包含:

  • 学号(数字,主键)
  • 姓名(最长30字符)
  • 性别(单字符,M/F)
  • 班级编号(文本,最多10字符)
  • 出生日期(日期格式)
CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M''F')),
    class_code VARCHAR(10),
    birth_date DATE
);

关键约束说明

  • PRIMARY KEY:强制学号唯一且非空
  • NOT NULL:禁止姓名为空值
  • CHECK:限制性别只能是'M'或'F'

二、修改表(ALTER TABLE)

作用:动态调整已存在的表结构
基本语法

ALTER TABLE 表名
    [ADD | DROP | MODIFY | CHANGE] 列名 [新数据类型] [位置选项];

子命令解析

1. 新增字段(ADD COLUMN)
ALTER TABLE 表名 
ADD COLUMN 新字段名 数据类型 [FIRST|AFTER 已有字段];

位置选项

  • FIRST:插入到首列
  • AFTER 字段名:插入到指定字段后
2. 删除字段(DROP COLUMN)
ALTER TABLE 表名 
DROP COLUMN 字段名;

⚠️ 风险提示:该操作直接删除列及数据,无确认步骤

3. 修改字段类型(MODIFY COLUMN)
ALTER TABLE 表名 
MODIFY COLUMN 字段名 新数据类型;

限制:仅兼容数据类型转换(如VARCHAR(10)VARCHAR(20)),非兼容转换(如文本→数字)需数据清洗

4. 重命名字段(CHANGE COLUMN)
ALTER TABLE 表名 
CHANGE COLUMN 旧字段名 新字段名 数据类型;

注:必须携带数据类型(即使不改类型)

5. 表重命名(RENAME TO)
ALTER TABLE 旧表名 
RENAME TO 新表名;

返回值

  • 成功:表结构变更生效
  • 失败:错误提示(如字段不存在、数据类型冲突)

应用示例:班级表结构迭代

初始表结构

CREATE TABLE classes (
    class_id INT,
    class_name VARCHAR(20)
);

需求变更

  1. 添加班主任字段(head_teacher VARCHAR(30)
  2. 重命名class_namename
  3. 删除无用的class_id
-- 添加班主任字段(置于末尾)
ALTER TABLE classes 
ADD COLUMN head_teacher VARCHAR(30);

-- 重命名字段(需保留数据类型)
ALTER TABLE classes 
CHANGE COLUMN class_name name VARCHAR(20);

-- 删除旧ID列
ALTER TABLE classes 
DROP COLUMN class_id;

三、删除表(DROP TABLE)

作用:彻底移除表结构及所有数据
基本语法

DROP TABLE [IF EXISTS] 表名;

语法元素说明

元素
说明
重要性
DROP TABLE
固定关键字
IF EXISTS
防错机制(表不存在时不报错)
建议添加
表名
需删除的表名称
必填

返回值

  • 成功:表及数据被永久删除
  • 失败:表不存在且未用IF EXISTS时返回错误

应用示例:清理临时表

-- 安全删除写法(避免因表不存在导致脚本中断)
DROP TABLE IF EXISTS temp_log_data;

-- 传统写法(表不存在时报错)
DROP TABLE debug_records;

📌 重要提醒:生产环境务必通过权限控制限制DROP操作,并搭配备份机制


四、查看表结构(DESCRIBE/DESC)

作用:获取表的字段定义元数据
基本语法

DESC 表名;    
-- 或
DESCRIBE 表名;

返回结果字段说明

列名
说明
示例值
Field
字段名称
student_id
Type
数据类型
int(11)
Null
是否允许NULL值
NO
Key
索引类型(如PRI主键)
PRI
Default
默认值
NULL
 或 CURRENT_TIMESTAMP
Extra
额外信息(如自增auto_increment
``


应用示例:查看学生表结构

DESC students;

典型输出

+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| student_id  | int(11)     | NO   | PRI | NULL    |       |
| name        | varchar(30) | NO   |     | NULL    |       |
| gender      | char(1)     | YES  |     | NULL    |       |
| class_code  | varchar(10) | YES  |     | NULL    |       |
| birth_date  | date        | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+

五、综合应用:全流程模拟数据操作

步骤1:创建模拟表(公司部门表)

CREATE TABLE departments (
    dept_id INT PRIMARY KEY AUTO_INCREMENT,
    dept_name VARCHAR(50) NOT NULL UNIQUE,
    create_date DATE DEFAULT '2023-01-01'
);

步骤2:插入模拟数据

INSERT INTO departments (dept_name, create_date) 
VALUES 
    ('技术研发部''2018-05-10'),
    ('市场运营部''2019-11-22'),
    ('人力资源部''2020-03-15');

步骤3:结构变更(添加预算字段)

ALTER TABLE departments 
ADD COLUMN annual_budget DECIMAL(12,2) NOT NULL DEFAULT 100000.00;

步骤4:验证操作

-- 查看最新表结构
DESC departments;

-- 查询数据
SELECT * FROM departments;

输出样例

+-----------+------------------+------------+----------------+
| dept_id   | dept_name        | create_date| annual_budget  |
+-----------+------------------+------------+----------------+
| 1         | 技术研发部       | 2018-05-10 | 100000.00      |
| 2         | 市场运营部       | 2019-11-22 | 100000.00      |
| 3         | 人力资源部       | 2020-03-15 | 100000.00      |
+-----------+------------------+------------+----------------+

语法要点总结

  1. 创建表 → 定义数据结构基石
  2. 修改表 → 支撑业务动态演进
  3. 删除表 → 谨慎操作的数据回收
  4. 查看结构 → 元数据快速探查

🔍 扩展提示

  • 表操作常配合约束(PRIMARY KEYFOREIGN KEY)保证数据质量
  • 生产环境建议使用可视化工具(如MySQL Workbench)辅助生成DDL语句
  • 所有表结构变更操作应在测试环境充分验证后执行


阅读原文:原文链接


该文章在 2025/9/1 12:06:22 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved