【MySQL】表的操作(数据表的创建、查看 和 修改)

文章目录

  • 一、创建表
    • [1. 创建表的语法](#1. 创建表的语法)
    • [2. 创建表案例](#2. 创建表案例)
  • [二、查看表结构 和 查看完整建表配置](#二、查看表结构 和 查看完整建表配置)
    • [1. 查看表结构](#1. 查看表结构)
    • [2. 查看完整建表配置](#2. 查看完整建表配置)
    • [3. 查询数据库下的所有表](#3. 查询数据库下的所有表)
  • [三、修改表结构 和 删除表](#三、修改表结构 和 删除表)
    • [1. 在表结构中添加一列(无法影响表中的原始数据)](#1. 在表结构中添加一列(无法影响表中的原始数据))
    • [2. 修改某列的字段类型](#2. 修改某列的字段类型)
    • [3. 修改字段名/列名 和 表名](#3. 修改字段名/列名 和 表名)
    • [4. 删除某列/字段](#4. 删除某列/字段)
    • [5. 删除整张表](#5. 删除整张表)

一、创建表

1. 创建表的语法

  • 语法:
bash 复制代码
CREATE TABLE table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

2. 创建表案例

bash 复制代码
create table db_test (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
);
  • 要先选择数据库,在数据库下创建数据表

数据库 db_test 文件下,新增数据表结构 user.ibd

二、查看表结构 和 查看完整建表配置

1. 查看表结构

  • 查看表结构的语法:
bash 复制代码
desc 表名;
  • 使用示例:
bash 复制代码
mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| password | char(32)    | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

2. 查看完整建表配置

  • 语法:
bash 复制代码
SHOW CREATE TABLE 表名;

3. 查询数据库下的所有表

  • 查询当前数据库下的所有表:
bash 复制代码
# 1. 先切换到目标数据库
USE 你的数据库名称;
# 2. 列出当前数据库所有表
SHOW TABLES;
  • 直接查询指定库下的所有表:
bash 复制代码
SHOW TABLES FROM 数据库名称;

三、修改表结构 和 删除表

1. 在表结构中添加一列(无法影响表中的原始数据)

  • 在表结构中新增列 的语法(在指定列后新增一列)
bash 复制代码
alter table 表名 add 新增列的信息 after 列名;
  • 使用示例:
bash 复制代码
alter table users add assets varchar(100) comment '图片路径' after birthday;

2. 修改某列的字段类型

  • 修改某列的字段类型
bash 复制代码
alter table 表名 modify 字段名/列名 新类型;

(1)示例一:

(2)示例二:

3. 修改字段名/列名 和 表名

  • 修改字段名/列名的语法(新字段需要完整定义)
bash 复制代码
alter table 表名 change 旧字段名 新字段名 字段类型; 
  • 修改表名(to:可以省掉)
bash 复制代码
alter table 旧表名 rename to 新表名;

(1)示例一:修改字段名/列名

bash 复制代码
alter table users change name xingming varchar(60);

(2)示例二:修改表名

bash 复制代码
alter table users rename to employee;

4. 删除某列/字段

  • 语法:
bash 复制代码
alter table 表名 drop 字段名/列名;

示例:

bash 复制代码
alter table employee drop password;

5. 删除整张表

  • 语法格式(可以一次性删除多张表):
bash 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

bash 复制代码
drop table employee;

相关推荐
2501_933670796 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐19 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh10 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客10 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐110 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils12 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶12 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕12 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
麻辣布丁12 小时前
MySQL篇面试题模拟
mysql
码少女12 小时前
Linux--多路转接之select
java·服务器·数据库