MySQL那些不常用的一些SQL语句

不知道大家有没遇到过是用 MyCat 进行分库分表的数据库,对于这种的数据库,相信大家在是用 Navicat 进行连接时候,会发现,有时候明明自己的表是存在的,但是在使用 Navicat 的时候,左边是看不到这个表的,从而导致了,对添加字段,查看表结构不熟悉的同学来说,这简直是一种折磨,今天阿粉就把一些经典的 SQL 给大家整理出来,让大家以后在想看的时候,直接拉出来看。

MySQL的添加表

这个页面都熟悉,很多人建表的时候,都是直接在这里定义表的结构,然后直接保存,确实是没毛病,但是如果分库之后,你不知道规则,那么你只能让有权限的人去帮你执行建表语句,这时候就用到了SQL语句创建表。

CREATETABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

但是这么指定,肯定还不行,还得有主键不是么?

给个最简单的:

CREATETABLE `USER` (
`ID` varchar(64)NOTNULL,
`Name` varchar(64)NULL,
`Age` int(11)NULL,
PRIMARY KEY (`ID`)
)

我们创建一个 USER 表,然后给表加上主键,就完成了创建一个基本的表。

如果你想增加字段的时候,又找不到表了,那应该怎么办呢?

非常简单,ALTER TABLE 语句,语法格式如下;

ALTERTABLE table_name ADD column_name datatype default xxx COMMENT '注释'

这个语法 table_name 就是你的表名,column_name 是你的字段名,datatype 是你的字段类型, default后面则是你字段的默认值,而COMMENT后面,则是跟着的对应字段的注释,是不是很简单。

虽然简单,但是很多直接习惯是用 Navicat 的人来说,还得去百度,现在不需要了,直接收藏一下,下次拉过来继续用。

如果觉得我们给这个表设计的某个字段的类型不合适,那么又应该怎么改呢?

同样的还是 ALTER 语法:

ALTERTABLE table_name MODIFY COLUMN column_name datatype comment '注释';

实际上和加字段区别并不大,但是 MODIFY 这个是修改的意思,毕竟写代码还有 CRUD 呢!

MYSQL 查看表结构

当你找不到表的时候,而且还深信表一定存在,那么就得用到一个关键字了 DESC,看到这个关键词的时候,相信小伙伴们都懵逼了,什么鬼,DESC 不是排序的时候是用的么?

是,DESC 在排序的时候确实是使用的,但是此 DESC 非彼 DESC,这里的 DESC 实际上是 DESCRIBE 的缩写,而 排序所用的 DESC 是 DESCEND 的缩写,这个你懂了么?

DESC table_name

这个语句就能成功的把你创建的表的结构都展示出来。

MYSQL 查看表索引的语句

这个相信大家肯定是都会的。

show index from tbname;

这里要注意的就是他的每个字段是什么意思了。

1.Table: 表名。

2.Non_unique: 如果索引不能包括重复值则为0,如果可以则为1。也就是平时所说的唯一索引。

3.Key_name 索引名称,如果名字相同则表明是同一个索引,而并不是重复,比如上图中的第四、五条数据,索引名称都是name,其实是一个联合索引。

4.Seq_in_index 索引中的列序列号,从1开始。上图中的四、五条数据,Seq_in_index一个是1一个是2,就是表明在联合索引中的顺序,我们就能推断出联合索引中索引的前后顺序。

5.Column_name 索引的列名。

6.Collation指的是列以什么方式存储在索引中,大概意思就是字符序。

7.Cardinality 是基数的意思,表示索引中唯一值的数目的估计值。我们知道某个字段的重复值越少越适合建索引,所以我们一般都是根据Cardinality来判断索引是否具有高选择性,如果这个值非常小,那就需要重新评估这个字段是否适合建立索引。

8.Sub_part 前置索引的意思,如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。

9.Packed 指示关键字如何被压缩。如果没有被压缩,则为NULL。压缩一般包括压缩传输协议、压缩列解决方案和压缩表解决方案。

10.Null 如果列含有NULL,则含有YES。

11.Index_type表示索引类型,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。

12.Comment Index_comment 注释的意思。

说到查看索引,那么就得说新增和删除索引。

索引的类型:

  • UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值
  • INDEX(普通索引):允许出现相同的索引内容
  • PROMARY KEY(主键索引):不允许出现相同的值
  • fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维
  • 组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一

创建索引

CREATE INDEX index_name
ON table_name (column_name)

删除索引

DROP INDEX index_name ON table_name

非常简单,阿粉不多说,这里就说一个比较经典的,如果表已经创建好了,那么再添加索引,那就还得是 ALTER。

ALTERTABLE table_name add INDEX `index_name` (`xxx`,`xx`,`x`)

以上的语句替换一下表名和索引的名称和字段的名称,那么就建立了一个联合索引了,这样看起来好像很简单是不是。

最后阿粉再来个总结:

总结

创建表

CREATETABLE `USER` (
`ID` varchar(64)NOTNULL,
`Name` varchar(64)NULL,
`Age` int(11)NULL,
PRIMARY KEY (`ID`)
)

添加字段

ALTERTABLE table_name MODIFY COLUMN column_name datatype comment '注释';

查看表结构

DESC table_name

查看表索引

show index from tbname;

创建索引

CREATE INDEX index_name
ON table_name (column_name)

删除表索引

DROP INDEX index_name ON table_name

增加表索引

ALTERTABLE table_name add INDEX `index_name` (`xxx`,`xx`,`x`)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/243016.html<

(0)
运维的头像运维
上一篇2025-04-25 01:56
下一篇 2025-04-25 01:57

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注