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

MYSQL表的操作

目录

一、查看当前数据库中的所有表:

        在全局执行:

      在具体数据库中执行:

二、创建表:

1.comment:

2.

3.反引号(`)

三、查看表:

 四、修改表:

1.向表中添加列:

 2.修改表中现有的列:

 3.重命名表中现有的列:

4.删除表中现有的列:

5.重命名当前的表:

五、删除表:

总结:


一、查看当前数据库中的所有表:

show tables

        在 MySQL 中,show tables 语句在全局(即不指定具体数据库)和在某一个具体数据库中执行的效果是不一样的,主要区别如下:

        在全局执行:

        假设当前用户有足够权限,在 MySQL 命令行直接输入 show tables,可能会显示类似于以下的结果(这里假设存在多个数据库,每个数据库有若干表):

+-----------------------+
| Tables_in_database1   |
+-----------------------+
| table1                |
| table2                |
+-----------------------+
+-----------------------+
| Tables_in_database2   |
+-----------------------+
| table3                |
| table4                |
+-----------------------+

       在具体数据库中执行:

        当使用USE database_name(进入具体的数据库里)命令切换到某个具体的数据库后再执行show tables,则只会显示该数据库中的表。这是一种更常见的用法,用于查看当前操作的数据库中的表结构等信息。

        先使用USE my_database;切换到名为my_database的数据库,然后执行 show tables,结果可能如下:

+-----------------------+
| Tables_in_my_database |
+-----------------------+
| customers             |
| orders                |
| products              |
+-----------------------+

二、创建表:

create table if not exists users

这里我们创建了一个 名字为 users 的表,还没完成。

更具体的创建:

create table if not exists users (
    id bigint comment '用户编号',
    username varchar (32) comment '用户名',
    `password` varchar(32) comment '密码',
    birthday date comment '生日'
);

注意:

1.comment:

        主要是给开发人员等数据库相关人员看的,在系统运行时通常不会直接显示这个字样或其内容。(相当于注释)。

2.

        id , username ,`password`,'birthdat' 是列名。后面的bigint,varchar ,date是相对应的数据类型。

3.反引号(`)

        如果数据库名、表名、列名等。当这些标识符与 MySQL 的关键字冲突,或者包含特殊字符、空格时,就需要使用反引号将其括起来,以确保 MySQL 能够正确识别它们。(比如上面的`password`就被反引号括起来了,因为password是mysql的关键字)。

现在我们通过命令展示一下这张表:

field 代表列名,type代表数据类型

三、查看表:

desc 表名

例子:

上面我们创建的表名为 users 的表,通过 这句命令

desc users

可以得到:

 Field:表中的列名

 Type:列的数据类型

 Null:该列的值是否允许为Null

 Key:该列的索引类型

 Default:该列的默认值

 Extra:扩展信息

 四、修改表:

alter table 表名 + 具体操作

 

users为表名的情况下的演示:

1.向表中添加列:

add + 列名 + 具体位置
--新增到列名为 id 的后面
alter table users add dog varchar(30) comment '狗的名字' after id;

--在表最后新增列名为 cat 
alter table users add cat varchar(30) comment '猫的名字';

--在表最前面新增列名为 duck 
alter table users add duck varchar(30) comment '鸭的名字' first;

结果:

 

 2.修改表中现有的列:

after + 列名 + 具体位置
--修改dog列的位置到birthday后面
alter table users modify dog varchar(30) comment '狗的名字' after birthday;

 

 3.重命名表中现有的列:

rename column 要修改的列名 to 修改后的列名
--把表中列名为 dog 修改成 birl
alter table users rename column dog to birl;

 列名为dog 被修改成了 birl 。

4.删除表中现有的列:

drop 列名
--删除列名为 id 的列
alter table users drop id;

 可以看到,看不到列名为 id 的列了,因为被删除了。

5.重命名当前的表:

rename + 新表名
--修改当前表名为 --> users111
alter table users rename users111

五、删除表:

drop table if exists 表名

 这样就能删除对应的表了。

总结:

可以看到,在一个数据库中查看表修改表删除表都会指定对应的表进行操作。

相关文章:

  • ROS2软件调用架构和机制解析:Publisher创建
  • 上位机知识篇---SSHSCPTFTONFS
  • 查看ITHOR全部仿真家庭场景
  • 用DeepSeek生成批量删除处理 PDF第一页工具
  • 【MySQL】CAST()在MySQL中的用法以及其他常用的数据类型转换函数
  • vue 项目部署到nginx 服务器
  • 生成网页链接二维码
  • 优化 EF Core 和 LINQ 以实现高性能应用程序
  • HarmonyOS学习第10天: 解锁线性布局的魔法排列
  • FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台
  • 【Elasticsearch】jvm.options.d JVM(Java虚拟机)选项配置
  • Docker 数据卷管理及优化
  • element中el-table表头通过header-row-style设置样式
  • kotlin中reified如何实现真泛型
  • 【落羽的落羽 C++】C++入门基础·其之一
  • 文生图开源模型发展史(2014-2025年)
  • 《asyncio 并发编程》(第四章)——并发网络请求
  • Vue3结合OpenLayers加载GeoJson文件实现离线版世界地图(中国详细数据)以及聚合点位(内部有免费GeoJson资源整合)
  • 辛格迪客户案例 | 祐儿医药科技GMP培训管理(TMS)项目
  • Machine Learning 初探
  • 网页设计个人网页制作/海口网站关键词优化
  • 做批手表批发发的网站/抖音seo怎么做
  • 网站规划与设计教案/十大搜索引擎入口
  • pdf怎么做电子书下载网站/by72777最新域名查询
  • 微信微网站怎么做/互联网推广平台有哪些公司
  • 做二手房产网站多少钱/如何做推广最有效果