支持HW团队,就支付宝领取下面的红包吧!(2018年3月31前,就几毛,也会几块,可以和其他红包叠加使用),你领取消费,HW有奖励。红包使用无条件限制,有条件请注意是不是有病毒。

小伙伴们,给大家发红包喽!人人可领,领完就能用。祝大家领取的红包金额大大大!#吱口令#长按复制此消息,打开支付宝就能领取!er1OEj73Uj

登入 注册 | 验证
| 搜索
HelloWorld论坛 : > 计算机科学、技术、教学> HelloWorld团队自营项目> HW数据库模型> 【原创】关于开发HW数据库模型的重新思考
 
 
 
 
类别:hwserver 阅读:3748 评论:0 时间:二月 21, 2015, 11:24 a.m. 关键字:HW 数据库模型

 

    2014年底准备开发一套数据库模型,先用eclipse插件开发。

本人是c++的,过年几天都在开发,眼看就要回去上班了,上班后最好能用这套模型开发软件,急啊!

经过思考,先开发给c++版本(基于hwserver,没界面,取名dbmodelplug),eclipse开发的主要优势就是可视操作,现在决定延后。

今天整理了hw.dbtype,是关于mysql,c++类型,以及相互转化的配置文件,还在整理。

2015-02-21:整理了mysql数据类型和说明。

2015-02-21:整理了mysql数据类型对应的cpp类型(部分,基于boost)

<?xml version="1.0" encoding="UTF-8"?>
<?dbmodelplug version="0.0.0.1"?>
<hwtype>
        <type
                type_mysql=""
                type_cpp=""
                info=""
                />
        <type
                type_mysql="TINYINT"
                type_cpp="boost::int8_t"
                info="一个很小的整数。有符号的范围是-128到127。"
                />
        <type
                type_mysql="TINYINT UNSIGNED"
                type_cpp="boost::uint8_t"
                info="一个很小的整数。无符号的范围是0到255。"
                />


        <type
                type_mysql="SMALLINT"
                type_cpp="boost::int16_t"
                info="一个小整数。有符号的范围是-32768到32767。"
                />
        <type
                type_mysql="SMALLINT UNSIGNED"
                type_cpp="boost::uint16_t"
                info="一个小整数。无符号的范围是0到65535。"
                />

        <type
                type_mysql="MEDIUMINT"
                type_cpp="boost::int24_t"
                info="一个中等大小整数。有符号的范围是-8388608到8388607。"
                />
        <type
                type_mysql="MEDIUMINT UNSIGNED"
                type_cpp="boost::uint24_t"
                info="一个中等大小整数。无符号的范围是0到16777215。"
                />


        <type
                type_mysql="INT"
                type_cpp="boost::int32_t"
                info="一个正常大小整数。有符号的范围是-2147483648到2147483647。"
                />
        <type
                type_mysql="INT UNSIGNED"
                type_cpp="boost::uint32_t"
                info="一个正常大小整数。无符号的范围是0到4294967295。"
                />

        <type
                type_mysql="BIGINT"
                type_cpp="boost::int64_t"
                info="一个大整数。有符号的范围是-9223372036854775808到9223372036854775807。"
                />
        <type
                type_mysql="BIGINT UNSIGNED"
                type_cpp="boost::uint64_t"
                info="一个大整数。无符号的范围是0到18446744073709551615。"
                />


        <type
                type_mysql="FLOAT"
                type_cpp="float"
                info="一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。"
                />
        <type
                type_mysql="DOUBLE"
                type_cpp="doulbe"
                info="一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E=+308到-2.2250738585072014E-308、= 0和2.2250738585072014E-308到1.7976931348623157E=+308。"
                />


        <type
                type_mysql="DATE"
                info="一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。"
                />

        <type
                type_mysql="DATETIME"
                info="一个日期和时间组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式来显示DATETIME值,但是允许你使用字符串或数字把值赋给DATETIME的列。"
                />

        <type
                type_mysql="TIMESTAMP"
                info="一个时间戳记。范围是'1970-01-01 00:00:00'到2037年的某时。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD 格式来显示TIMESTAMP值,取决于是否M是14(或省略)、12、8或6,但是允许你使用字符串或数字把值赋给TIMESTAMP列。一个 TIMESTAMP列对于记录一个INSERT或UPDATE操作的日期和时间是有用的,因为如果你不自己给它赋值,它自动地被设置为最近操作的日期和时间。你以可以通过赋给它一个NULL值设置它为当前的日期和时间。"
                />

        <type
                type_mysql="TIME"
                info="一个时间。范围是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式来显示TIME值,但是允许你使用字符串或数字把值赋给TIME列。"
                />

        <type
                type_mysql="YEAR"
                info="一个2或4位数字格式的年(缺省是4位)。允许的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。MySQL以YYYY格式来显示YEAR值,但是允许你把使用字符串或数字值赋给YEAR列。(YEAR类型在MySQL3.22中是新类型。)"
                />

        <type
                type_mysql="CHAR(M)"
                info="一个定长字符串,当存储时,总是是用空格填满右边到指定的长度。M的范围是1 ~ 255个字符。当值被检索时,空格尾部被删除。CHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式来定义CHAR列应该使用缺省字符集。这是MySQL的缺省。CHAR是CHARACTER的一个缩写。"
                />

        <type
                type_mysql="VARCHAR(M)"
                info="一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于ANSI SQL规范)。M的范围是1 ~ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。 VARCHAR是CHARACTER VARYING一个缩写。"
                />

        <type
                type_mysql="TINYBLOB"
                info="一个BLOB或TEXT列,最大长度为255(2^8-1)个字符。"
                />

        <type
                type_mysql="TINYTEXT"
                info="一个BLOB或TEXT列,最大长度为255(2^8-1)个字符。"
                />

        <type
                type_mysql="BLOB"
                info="一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。"
                />

        <type
                type_mysql="TEXT"
                info="一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。"
                />

        <type
                type_mysql="MEDIUMBLOB"
                info="一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。"
                />

        <type
                type_mysql="MEDIUMTEXT"
                info="一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。"
                />

        <type
                type_mysql="LONGBLOB"
                info="一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。"
                />

        <type
                type_mysql="LONGTEXT"
                info="一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。"
                />
</hwtype>

 

[挂载人]初学MPEG

个人签名--------------------------------------------------------------------------------

Please Login (or Sign Up) to leave a comment