<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java將MySQL建表語句轉換為SQLite的建表語句

      Java將MySQL建表語句轉換為SQLite的建表語句

      源代碼

      package com.fxsen.platform.core.util;
      
      import java.util.HashMap;
      import java.util.Map;
      import java.util.regex.Matcher;
      import java.util.regex.Pattern;
      
      /**
       * mysql轉SQLite
       *@Author: <a href="mailto:fxsen@foxmail.com">Fxsen</a>
       *@CreateTime: 2023年08月22日  15:46
       */
      public class MysqlToSqLiteUtil {
      
          public static final Map<String, String> FIELD_TYPE_MAP = new HashMap<>();
      
          static {
              FIELD_TYPE_MAP.put("int", "INTEGER");
              FIELD_TYPE_MAP.put("bigint", "INTEGER");
              FIELD_TYPE_MAP.put("tinyint", "INTEGER");
              FIELD_TYPE_MAP.put("smallint", "INTEGER");
              FIELD_TYPE_MAP.put("mediumint", "INTEGER");
              FIELD_TYPE_MAP.put("float", "REAL");
              FIELD_TYPE_MAP.put("double", "REAL");
              FIELD_TYPE_MAP.put("decimal", "NUMERIC");
              FIELD_TYPE_MAP.put("varchar", "TEXT");
              FIELD_TYPE_MAP.put("char", "TEXT");
              FIELD_TYPE_MAP.put("text", "TEXT");
              FIELD_TYPE_MAP.put("enum", "TEXT");
              FIELD_TYPE_MAP.put("datetime", "TEXT");
              FIELD_TYPE_MAP.put("timestamp", "TEXT");
              FIELD_TYPE_MAP.put("date", "TEXT");
              FIELD_TYPE_MAP.put("time", "TEXT");
              FIELD_TYPE_MAP.put("blob", "BLOB");
              FIELD_TYPE_MAP.put("bit", "TEXT");
              FIELD_TYPE_MAP.put("boolean", "INTEGER");
              FIELD_TYPE_MAP.put("set", "TEXT");
              FIELD_TYPE_MAP.put("json", "TEXT");
              FIELD_TYPE_MAP.put("geometry", "BLOB");
              FIELD_TYPE_MAP.put("point", "BLOB");
              FIELD_TYPE_MAP.put("linestring", "BLOB");
              FIELD_TYPE_MAP.put("polygon", "BLOB");
              FIELD_TYPE_MAP.put("multipoint", "BLOB");
              FIELD_TYPE_MAP.put("multilinestring", "BLOB");
              FIELD_TYPE_MAP.put("multipolygon", "BLOB");
              FIELD_TYPE_MAP.put("geometrycollection", "BLOB");
          }
      
          public static void main(String[] args) {
              String createTableStatement = "CREATE TABLE `t_enterprise_info` (\n" +
                      "  `id` varchar(32) NOT NULL COMMENT '主鍵ID',\n" +
                      "  `category_id` text COMMENT '企業類別ID',\n" +
                      "  `name` varchar(255) DEFAULT NULL COMMENT '企業名稱',\n" +
                      "  `social_credit_code` varchar(255) DEFAULT NULL COMMENT '社會信用代碼',\n" +
                      "  `org_code` varchar(255) DEFAULT NULL COMMENT '組織機構代碼',\n" +
                      "  `address` varchar(255) DEFAULT NULL COMMENT '街(村)、門牌號(實際經營地)',\n" +
                      "  `register_address` varchar(255) DEFAULT NULL COMMENT '單位注冊地',\n" +
                      "  `legal_person` varchar(255) DEFAULT NULL COMMENT '單位法人',\n" +
                      "  `open_date` varchar(50) DEFAULT NULL COMMENT '開業時間',\n" +
                      "  PRIMARY KEY (`id`) USING BTREE\n" +
                      ") ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='企業基本信息表';";
              System.out.println(convertMysqlToSQLite(createTableStatement));
          }
      
          public static String convertMysqlToSQLite(String mysqlStatement) {
      
              // 刪除COMMENT
              String reg = "COMMENT\\s*'.*?'";
              Pattern pattern = Pattern.compile(reg);
              Matcher matcher = pattern.matcher(mysqlStatement);
              String result = matcher.replaceAll("")
                      .replaceAll("\\).*?;", ");")
                      .replaceAll("USING BTREE","")
                      .replaceAll("`","\"");
              // 替換 MySQL 建表語句中的數據類型和關鍵字為 SQLite 的等價語句
              for (String key : FIELD_TYPE_MAP.keySet()) {
                  // 生成正則表達式,匹配字段類型
                  String regex = "\\b" + key + "\\b";
                  Pattern pattern2 = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
                  Matcher matcher2 = pattern2.matcher(result);
      
                  // 執行替換
                  result = matcher2.replaceAll(FIELD_TYPE_MAP.get(key));
              }
      
              // 返回替換后的 SQLite 建表語句
              return result;
          }
      

      轉換前

      CREATE TABLE `t_enterprise_info` (
        `id` varchar(32) NOT NULL COMMENT '主鍵ID',
        `category_id` text COMMENT '企業類別ID',
        `name` varchar(255) DEFAULT NULL COMMENT '企業名稱',
        `social_credit_code` varchar(255) DEFAULT NULL COMMENT '社會信用代碼',
        `org_code` varchar(255) DEFAULT NULL COMMENT '組織機構代碼',
        `address` varchar(255) DEFAULT NULL COMMENT '街(村)、門牌號(實際經營地)',
        `register_address` varchar(255) DEFAULT NULL COMMENT '單位注冊地',
        `legal_person` varchar(255) DEFAULT NULL COMMENT '單位法人',
        `open_date` varchar(50) DEFAULT NULL COMMENT '開業時間',
        PRIMARY KEY (`id`) USING BTREE
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='企業基本信息表';
      

      轉換后

      CREATE TABLE "t_enterprise_info" (
        "id" TEXT(32) NOT NULL ,
        "category_id" TEXT ,
        "name" TEXT(255) DEFAULT NULL ,
        "social_credit_code" TEXT(255) DEFAULT NULL ,
        "org_code" TEXT(255) DEFAULT NULL ,
        "address" TEXT(255) DEFAULT NULL ,
        "register_address" TEXT(255) DEFAULT NULL ,
        "legal_person" TEXT(255) DEFAULT NULL ,
        "open_date" TEXT(50) DEFAULT NULL ,
        PRIMARY KEY ("id") 
      );
      
      posted @ 2023-08-23 14:23  fxsen  Views(238)  Comments(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕国产在线精品| 乱色欧美激惰| 久久亚洲欧美日本精品| 麻豆成人传媒一区二区| 日本精品一区二区不卡| 亚洲中文字幕无码中字| 又爽又黄又无遮挡的视频| 国产精品中文第一字幕 | 饥渴少妇高潮正在播放| 亚洲欧洲精品日韩av| 一区二区三区在线 | 欧洲| 国精品午夜福利不卡视频| 欧洲精品色在线观看| 欧美老熟妇喷水| 91亚洲国产三上悠亚在线播放| 国产成人精品一区二区| 国产精品自拍中文字幕| 亚洲男人av天堂久久资源| 亚洲国产欧美在线人成| 日韩av高清在线看片| 蜜桃av无码免费看永久| 熟女激情乱亚洲国产一区| 欧美牲交a欧美在线| 亚洲无av中文字幕在线| 国产中文字幕精品在线| 昌邑市| 日韩大片看一区二区三区| 欧美性猛交xxxx乱大交丰满| av区无码字幕中文色| 国产喷水1区2区3区咪咪爱AV| 国产成人无码综合亚洲日韩| 老司机精品成人无码AV| 久久国内精品一国内精品| 怡红院一区二区三区在线| 亚洲爆乳精品无码一区二区| 国产精品一线天在线播放| 国产一区二区高潮视频| 欧美精品一区二区三区中文字幕| 好吊视频在线一区二区三区| 日韩av一区二区三区不卡| 国产精品美女一区二三区|