sql-create-table-statement-analyzer

1.0.1 • Public • Published

SQL Create Table Statement Analyzer

GitHub npm

extract column detail from SQL create table statements

从SQL建表语句中提取出字段信息

Getting Started

npm

npm install sql-create-table-statement-analyzer --save

import

import { getTables } from 'sql-create-table-statement-analyzer'

Basic Usage

import { getTables } from 'sql-create-table-statement-analyzer'

const sql = "\
CREATE TABLE `article` (\
  `id` int NOT NULL AUTO_INCREMENT,\
  `space_id` int NOT NULL,\
  `node_id` int NOT NULL COMMENT '节点id',\
  `type` int NOT NULL COMMENT '文章类型: 1.富文本 2.markdown 3.附件',\
  `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',\
  `body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '内容',\
  `search` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搜索',\
  `level` int unsigned NOT NULL DEFAULT '0' COMMENT '级别',\
  `ext` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '扩展字段',\
  `author` int NOT NULL COMMENT '作者uid',\
  `version` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '版本号',\
  `pos` int NOT NULL COMMENT '排序',\
  `ctime` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '创建时间',\
  `stime` timestamp NOT NULL COMMENT '保存时间',\
  `mtime` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '最后写入时间',\
  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态: 0未删除 1已删除',\
  PRIMARY KEY (`id`),\
  KEY `space_id_tree_id_node_id` (`space_id`,`node_id`)\
) ENGINE=InnoDB AUTO_INCREMENT=230 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\
"

tables = getTables(sql)
console.log(tables)

Dependencies

开始使用

npm

npm install sql-create-table-statement-analyzer --save

引入

import { getTables } from 'sql-create-table-statement-analyzer'

基本用法

import { getTables } from 'sql-create-table-statement-analyzer'

const sql = "\
CREATE TABLE `article` (\
  `id` int NOT NULL AUTO_INCREMENT,\
  `space_id` int NOT NULL,\
  `node_id` int NOT NULL COMMENT '节点id',\
  `type` int NOT NULL COMMENT '文章类型: 1.富文本 2.markdown 3.附件',\
  `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',\
  `body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '内容',\
  `search` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '搜索',\
  `level` int unsigned NOT NULL DEFAULT '0' COMMENT '级别',\
  `ext` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '扩展字段',\
  `author` int NOT NULL COMMENT '作者uid',\
  `version` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '版本号',\
  `pos` int NOT NULL COMMENT '排序',\
  `ctime` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '创建时间',\
  `stime` timestamp NOT NULL COMMENT '保存时间',\
  `mtime` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '最后写入时间',\
  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态: 0未删除 1已删除',\
  PRIMARY KEY (`id`),\
  KEY `space_id_tree_id_node_id` (`space_id`,`node_id`)\
) ENGINE=InnoDB AUTO_INCREMENT=230 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\
"

tables = getTables(sql)
console.log(tables)

依赖

Package Sidebar

Install

npm i sql-create-table-statement-analyzer

Weekly Downloads

4

Version

1.0.1

License

MIT

Unpacked Size

134 kB

Total Files

13

Last publish

Collaborators

  • tinywisp