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

【MySQL】表的基本操作

??表的基本操作

文章目录:

表的基本操作

创建查看表
创建表
查看表结构

表的修改
表的重命名
表的添加与修改
删除表结构

总结


前言

在数据库中,数据表是存储和组织数据的基本单位,对于数据表的操作是每个程序员需要烂熟于心的技巧。


??创建查看表
创建表

如果我们需要在当前数据库下创建表,可以使用如下SQL指令:

CREATE TABLE [if not exits] table_name ( field1 datatype, field2 datatype, field3 datatype --注意最后一个不带有任何符号-- ) character set 字符集 collate 校验规则 engine 存储引擎;

注意事项

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

我们在数据库下新建一个表:

其中标蓝色框框的表示的是数据的类型,后面我们会提。创建表时,不同的存储引擎创建的文件不同,比如我再任意创建一个表,不过这个表的存储引擎为MyISAM。使用这个搜索引擎创建的文件有xxx.sdixxx.MYDxxx.MYI三个文件。


查看表结构

使用如下命令查看当前数据库中表结构:

SHOW TABLES;

这条SQL指令我们在上一篇已经说过了,直接用起来就行。如果用户需要查看具体的某张表,我们使用如下SQL语句:

DESC table_name; --查看指定表结构--

比如,我们查看刚刚创建的user表:

除此之外,查看创建表时的创建语句,我们可以使用如下SQL指令:

SHOW CREATE TABLE table_name G--G可以用;代替,G默认有美化功能--

这样曾经创建表时对该表的操作也能一清二楚了(这些语句有可能会被SQL优化过)。


??表的修改

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

表的重命名

修改表,是对表中的属性字段以及格式的修改,不同的属性修改起来略有不同。如果我们想要对表进行重命名,有两种改法,第一种:

ALTER TABLE table_name RENAME TO new_table_name;--to可以省略--


对user1表进行重命名成功,第二种对表重命名的方式使用如下SQL语句:

RENAME TABLE table_name TO new_table_name;


表的添加与修改

表的数据插入:

我们创建完成了一个表,绝大部分的目的是对其插入数据,对表进行插入数据,我们可以使用如下SQL语句:

INSERT INTO table_name VALUES(field1, field2, field3, ...)--行插入,根据行属性个数插入--

插入字段:

如果我们表结构已经创建好了,但是未来发现有新的数据类型要加在这张表当中,我们可以使用如下SQL指令添加新的字段

ALTER TABLE table_name ADD new_field field_type;--默认插入字段在第一列-- ALTER TABLE table_name ADD new_field field_type AFTER exists_field--插入到指定的某个字段之后--;

我们新增的属性字段并不会影响原本表中的数据,并且新的属性字段在原来的两条数据上是都不存在的,所以默认为NULL。

对表中指定列的类型做修改

如果我们对创建过的表其中的字段类型不满意,达不到数据的预期,我们可以使用如下SQL语句对已存在的字段类型做修改

ALTER TABLE table_name MODIFY [old_type] new_type;--可以不带老的类型--


这样虽然可以修改字段类型,但是这种修改并非是定向仅仅修改字段类型,我们的comment 注释后面也被覆盖了。

删除指定的列信息

删除指定的列信息,我们可以使用如下的SQL语句:

ALTER TABLE table_name DROP column_name;

我们将指定的列删除之后,不仅这一列的属性字段被删除,连之前在这一列存储的内容也一并会删除。

修改表字段名

我们对表中字段名不满意,或者书写错误,可以通过一下SQL语句进行修改:

ALTER TABLE table_name CHANGE old_fieldname new_fieldname new_type;--新字段需要完整定义--


删除表结构

对不需要的表进行删除操作,我们可以使用如下SQL语句:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...


??总结
  • 创建表可指定字符集和存储引擎,不指定字符集和存储引擎默认为 InnoDB存储引擎 和 utf8mb4字符集
  • 查看当前数据库的表,和查看具体表结构是不同概念,使用不同语句查看。
  • 表的修改和删除涉及ADD、MODIFY、INSERT、DROP等关键字。

本文内容到此结束,如果感觉有帮助的话,还望给博主一个赞~~

http://www.cnnetsun.cn/news/1401428.html

相关文章:

  • Pixel Dimension Fissioner部署教程:GPU算力优化适配+免配置镜像实操
  • Pixel Dimension Fissioner应用案例:为独立游戏开发者生成100+任务描述
  • 认知红利:为什么“聪明的放弃”是亚马逊卖家最高阶的战略
  • 交流过零分断原理与电弧抑制电路设计
  • 无人机、车载AI等移动设备姿态变化导致的散热失效问题
  • 收藏必备!小白程序员轻松入门大模型:详解RAG技术及其应用
  • 模型部署需要考虑的性能指标和模型部署的步骤
  • 代码编辑器插件 React-Codemirror2
  • AI 编程助手竞品周报
  • 基于YOLO26算法+DeepSeek_qwen大模型的智慧铁路要素缺陷巡检分析系统
  • 垃圾网站穷疯了,什么都要钱
  • 开箱即用!通义千问3-Embedding-4B镜像,小白也能快速搭建知识库
  • Java 流程控制与循环结构笔记
  • Dify生产环境Token成本黑洞排查实录(附官方未公开的token_usage_hook调试接口与离线审计工具)
  • 65R370-ASEMI超结MOS管TO-252封装
  • Python面向对象
  • 漏洞扫描是怎么进行的?什么是漏洞扫描?
  • Python爬虫获取训练数据:为定制化伏羲模型收集历史气象资料
  • Python全自动桌面整理工具,一键分类文件,小白也能用
  • Linux - 应用层自定义协议与序列/反序列化
  • 企业安全防护实战:如何用Firewall+WAF+IDS+IPS搭建多层防御体系?
  • 类目竞争加剧如何找到细分需求切入点
  • Shopee 选品怎么看市场供需比,确定高需求低竞争款?
  • BrowseComp-ZH:中文网络生态下大模型检索能力的极限挑战
  • Snipe-IT:IT资产全生命周期管理的开源创新实践指南
  • 国密SM3哈希吞吐量从42MB/s到216MB/s——一位密码芯片架构师不愿公开的SIMD向量化手记
  • bge-large-zh-v1.5入门到应用:一套完整的语义向量服务搭建指南
  • 进程:pcb
  • 党政机关如何正确使用 OpenClaw LOGO|含下载
  • 美胸-年美-造相Z-Turbo入门秘籍:写好描述词,让AI听懂你的想法