java与mysql数据库_mysql数据库类型 与 java 类型 对应表怎么看。谢谢!

原问题:mysql数据库类型 与 java 类型 对应表怎么看。谢谢!
分类:编程开发 > 最后更新时间:【2017-02-15 14:44:33】
问题补充:

例如我想在myql数据库定义age年龄这个属性类型,那我该写成INTEGER(4) NOT NULL;这样?那如果再想定义更大的整数类型呢?或者浮点

最佳答案

一般整形的,你的mysql数据库可定义为integer

它的范围为:-2147483648~2147483647

而浮点的,可以定义为numeric因为它通用

当然,也可以定义为decimal,它更精确些

字串的肯定用varchar

其它的一般不用考虑(BLOB/TEXT用的很少的)


追问:
谢谢! 还有获取时间data mysql中怎么定义啊
追问:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "PRIMARY KEY, name VARCHAR(50) NOT NULL, base_durationn integer, base_cost" at line 2 追答:
在mysql中,日期类型有date和datetime两种,后者有时间的而当前日期在mysql中可用sysdate()得到 追答:
你建表的语法是错的(贴你的程序)一般在PRIMARY KEY后不定义字段的
追问:
上面提示我的建表语句出了什么错啊?我想请你帮我个忙,把下面oracle数据库中的类型帮我改成mysql数据中的类型,我对java与数据库之间的类型很懵懂。CREATE TABLE COST( ID NUMBER(4) CONSTRAINT COST_ID_PK PRIMARY KEY, NAME VARCHAR(50) NOT NULL, BASE_DURATION NUMBER(11), BASE_COST NUMBER(7,2), UNIT_COST NUMBER(7,4), STATUS CHAR(1) CONSTRAINT COST_STATUS_CK CHECK (STATUS IN (0,1)), DESCR VARCHAR2(100), CREATIME DATE DEFAULT SYSDATE , STARTIME DATE, COST_TYPE CHAR(1) ); 追答:
oracle的SQL不能用于mysql的,可行的改为:CREATE TABLE COST( ID numeric(4), NAME VARCHAR(50) NOT NULL, BASE_DURATION numeric(11), BASE_COST numeric(7,2), UNIT_COST numeric(7,4), STATUS CHAR(1) , DESCR VARCHAR(100), CREATIME DATE , STARTIME DATE , COST_TYPE CHAR(1), PRIMARY KEY (ID) );其中约束及缺省(mysql不支持日期缺省的)被删除,这个可以通过程序实现

  • 追问:
    非常感谢你!我刚才不挺的改,都提示我报错。也怪我对 java 与 数据库中 对应的类型搞不懂。
    最佳答案由网友  whoami1978  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    20

    分享到:

    其他回答

    暂无其它回答!

      推荐
  • java与mysql数据库_mysql数据库与java的连接方式