首頁>技術>

mysql 中的資料型別與Hive 是有區別的,但是他們有規律, 有規律就好辦了, 我們可以透過寫程式來批次處理,來提高我們的工作效率。

來我們開幹。

MySQL 中的表結構都是存在一個固定的資料庫中,它的名字是:information_schema

欄位是儲存在固定的表中:COLUMNS

我們先直接上指令碼

SELECT	CONCAT(		'create table ',		TABLE_NAME,		'(',		substring( column_info, 1, length( column_info ) - 1 ),		')',		' comment ',		'"',		TABLE_COMMENT,		'"',		';' ) FROM	(	SELECT		TABLE_NAME,		TABLE_COMMENT,		group_concat( CONCAT( COLUMN_NAME, ' ', DATA_TYPE, ' comment ', '"', COLUMN_COMMENT, '"' ) ) AS column_info 	FROM		(		SELECT			t1.TABLE_NAME,		CASE								WHEN t2.TABLE_COMMENT = NULL THEN				t1.TABLE_NAME ELSE t2.TABLE_COMMENT 			END AS TABLE_COMMENT,			COLUMN_NAME,		CASE								WHEN DATA_TYPE = 'varchar' THEN				'string' 				WHEN DATA_TYPE = 'int' THEN				'int' 				WHEN DATA_TYPE = 'tinyint' THEN				'tinyint' 				WHEN DATA_TYPE = 'decimal' THEN				'double' 				WHEN DATA_TYPE = 'datetime' THEN				'string' 				WHEN DATA_TYPE = 'timestamp' THEN				'string' 				WHEN DATA_TYPE = 'float' THEN				'double' 				WHEN DATA_TYPE = 'double' THEN				'double' 				WHEN DATA_TYPE = 'bigint' THEN				'bigint' 			END AS DATA_TYPE,		CASE								WHEN COLUMN_COMMENT = NULL THEN				COLUMN_NAME ELSE COLUMN_COMMENT 			END AS COLUMN_COMMENT 		FROM			COLUMNS t1			JOIN TABLES t2 ON t1.TABLE_NAME = t2.TABLE_NAME and   t1.TABLE_SCHEMA = t2.TABLE_SCHEMA 		WHERE			t1.TABLE_NAME = 'book_module_stencil'  and t1.TABLE_SCHEMA='yyb_test'					) t3 	GROUP BY		TABLE_NAME,	TABLE_COMMENT 	) t4;

book_module_stencil 替換成你的表名稱。

yyb_test 替換成你的資料庫名稱。

執行結果是這樣的

格式化後是這樣的

CREATE TABLE book_module_stencil (	id string COMMENT "id",	NAME string COMMENT "版塊名稱",	type string COMMENT "圖書型別(0:教材;1:教輔;2課外)",	stu_icon string COMMENT "學生端配置圖示的地址",	tea_icon string COMMENT "老師端配置圖示的地址",	sort INT COMMENT "排序",	remarks string COMMENT "備註資訊",	create_by string COMMENT "建立者",	create_date string COMMENT "建立時間",	update_by string COMMENT "更新者",	update_date string COMMENT "更新時間",CODE string COMMENT "編碼(模組名稱首字母)" ) COMMENT "模組模版表";

今天的分享就到這裡。

21
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 小白也能學會的C-枯燥且必須的語法