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

相关推荐
小码农 - 初10 小时前
MySQL 增删改查
mysql
凌虚16 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪17 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善17 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾19 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客19 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
奈斯先生Vector20 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney
Lethehong21 小时前
双擎并驱·全链路并行:KFS让TB级异构增量同步秒级到达
数据库
MC皮蛋侠客21 小时前
SQLAlchemy 系列(八):AsyncIO、并发与 Web 生命周期——让每个并发任务持有自己的 Session
数据库·python
一水21 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf