mysqlmysql中的数据类型与Hive中的数据类型不同,但有规律,易于处理。我们可以编写批处理程序。以提高我们的工作效率。来吧,让我们开始吧。MySQL中的表结构存储在一个固定的数据库中,它的名字是:information_schema字段存储在一个固定的表中:COLUMNS我们直接上脚本SELECTCONCAT('createtable',TABLE_NAME,'(',substring(column_info,1,length(column_info)-1),')','comment','"',TABLE_COMMENT,'"',';')FROM(SELECTTABLE_NAME,TABLE_COMMENT,group_concat(CONCAT(COLUMN_NAME,'',DATA_TYPE,'comment','"',COLUMN_COMMENT,'"'))AScolumn_infoFROM(SELECTt1.TABLE_NAME,CASEWHENt2.TABLE_COMMENT=NULLTHENt1.TABLE_NAMEELSEt2.TABLE_COMMENTENDASTABLE_COMMENT,COLUMN_ENDNAME,CASEWHENDATA_TYPE='int'THEN''WHENDATA_TYPE='tinyint'THEN'ATATInyint'WHdecimal'THEN'double'WHENDATA_TYPE='datetime'THEN'string'WHENDATA_TYPE='timestamp'THEN'string'WHENDATA_TYPE='float'THEN'double'WHENDATA_TYPE='double''THEN'double'WHENDATA_TYPE='bigint'THEN'bigint'ENDASDATA_TYPE,CASEWHENCOLUMN_COMMENT=NULLTHENCOLUMN_NAMEELSECOLUMN_COMMENTENDASCOLUMN_COMMENTFROMCOLUMNSt1JOINTABLESt2ONt1.TABLE_NAME=t2.TABLE_NAMEandt1.TABLE_SCHEMAWHEREt1.TABLE_NAME='book_module_stencil'andt1.TABLE_SCHEMA='yyb_test')t3GROUPBYTABLE_NAME,TABLE_COMMENT)t4;book_module_stencil替换为您的表名,yyb_test替换为您的数据库名称。执行结果是这样的CREATETABLEbook_module_stencil(idstringCOMMENT"id",NAMEstringCOMMENT"栏目名称",typestringCOMMENT"书籍类型(0:教材;1:教学补充;2课外)",stu_iconstringCOMMENT"stu_iconstringCOMMENT"学生配置图标地址",tea_iconstringCOMMENT"教师端配置图标地址",sortINTCOMMENT"排序",remarksstringCOMMENT"备注",create_bystringCOMMENT"创建者",create_datestringCOMMENT"创建时间",update_bystringCOMMENT"更新器",update_datestringCOMMENT"更新时间",CODEstringCOMMENT"代码(首字母模块名称))COMMENT"模块模板表";今天的分享到此结束。
