千家信息网

TiDB怎么新建一张表

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"TiDB怎么新建一张表",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"TiDB怎么新建一张表"吧!TiDB是一个开源分布式数据库,并
千家信息网最后更新 2026年11月02日TiDB怎么新建一张表

这篇文章主要讲解了"TiDB怎么新建一张表",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"TiDB怎么新建一张表"吧!

TiDB是一个开源分布式数据库,并使用Rust编写的TiKV存储数据,其中TiDB是一个SQL语法解析层,本文使用MockDB模拟本地存储数据,从语法解析到实际存储操作进行分析一张数据表是如何建出来的。
过程如下:

  1. 首先我们得有一个建表语句

CREATE TABLE Persons(    Id_P int NOT NULL,    LastName varchar(255) NOT NULL,    FirstName varchar(255),    Address varchar(255),    City varchar(255),    PRIMARY KEY (Id_P))
  1. TiDB拿到一个SQL语句之后,首先需要使用Parser进行语法解析
    上图中的代码为Parser的goyacc语法,最终SQL在Parser中走了一圈之后生成CreateTableStmt的结构,该结构具体的属性如下图所示:

  2. 在语法解析完成之后,就需要生一个抽象语法树AST,TiDB使用火山模型向下钻取生成语法树。 !

  3. 如果语法树生成的没有问题,接下来就要build一个LogicPlan,当然在build之前我们先进行一些预检查:
    预检查主要包括一些表名合法性检查,列名合法性检查,约束检查,主键检查等。

  4. 在确保AST检查无误之后,我们开始处理步骤3中生成的AST语法树。其中在ddl_api.go中我们再做更详细的检查,并最终生成一个TableInfo的结构,这个结构中保存了所有表相关的信息。并提交一个类型为Type: model.ActionCreateTable 的Job。

  5. 在ddl_worker.go接收到步骤5中的Job之后真正开始作为一个原子操作处理保存TableInfo的任务。其中t.CreateTable(schemaID, tbInfo) 将会真正调用Hash接口的API将TableInfo序列化之后存入后端存储中。
    在存储完成之后调用job.FinishTableJob通过前端建表语句已经执行完成。

感谢各位的阅读,以上就是"TiDB怎么新建一张表"的内容了,经过本文的学习后,相信大家对TiDB怎么新建一张表这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

语法 检查 存储 数据 结构 生成 语句 学习 合法 内容 合法性 步骤 问题 处理 接下来 上图 代码 任务 信息 分布式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技赋能下的互联网金融 疫情对互联网科技公司影响 互联网科技英文 互联网与新科技 融势互联网科技 互联网科技视频素材 互联网科技股午盘股票涨跌 新华互联网科技2019 福州新华互联网科技学校 知乎 金融科技与互联网金融相同和不同 特约风豹互联网科技为什么扣费 科技互联网的核心竞争力 本届互联网大会上的黑科技 半导体行业属于互联网高科技类吗 易租星互联网科技有限公司 美国五大互联网科技公司市值多少 瑞安市蟠桃会互联网科技有限公司 现代科技的标志之一的互联网 中国主要互联网科技公司 株洲百竞科技的互联网营销顾问 互联网科技图片 国智互联网科技 深圳恒合互联网络科技有限公司 互联网科技公司发展 天下捷融互联网科技 互联网科技英文翻译 宁夏众和广鑫互联网科技有限公司 岳阳华臻互联网科技有限公司 科技大学互联网 互联网 科技节活动 微视频大赛
0