ZBlog-PHP:自定义数据库表结构写法
时间:2023年09月15日
/来源:网络
/编辑:佚名
先上zblog官方说明:
function 插件ID_defineDatabase(){
$database = array(
/**
*收藏表
*/
'插件ID_collect' =>array(
'table'=>"%pre%插件ID_collect' ,
'datainfo'=>array (
'ID'=>array ( 'cc_ID', 'integer ' , '',0),
'UID'=>array ( 'cc_UID' , 'integer','' ,0),
'LogID'=>array ( 'cc_LogID', 'integer', '',0),
'CreateTime'=>array ( 'cc_CreateTime' , ‘integer', '', 0),
'Meta'=>array ( 'cc_Meta', 'string' ,'' ,''),
),
),
);
foreach ( $database as $key => $v) {
$table = $v['table'];
$datainfo = $v['datainfo'];
$GLOBALS['table'][$key] = $table;
$GLOBALS['datainfo'][$key] = $datainfo;
}
return $database;
}
插件ID_defineDatabase( );
其中,datainfo就是数据库表结构
现在,只说明相关的语句写法:
integer 类型
PHP
array('Test','integer','tinyint',0)
// 默认:整数,默认为4位数,默认为0,带符号的范围是-128到127。无符号的范围是0到255。
array('Test','integer','smallint',0)
// 默认:整数,默认为6位数,默认为0,带符号的范围是-32768到32767。无符号的范围是0到65535。
array('Test','integer','mediumint',0)
// 默认:整数,默认为9位数,默认为0,带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
array('Test','integer','int',0)
// 默认:整数,默认为11位数,默认为0,带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
array('Test','integer','bigint',0)
// 默认:整数,默认为20位数,默认为0,带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。
array('Test','boolean','',0)
// 默认:BOOLEAN,是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
array('Test','float','',0)
// 单精度浮点数值 默认0
array('Test','double','',0)
// 双精度浮点数值 默认0
array('Test','decimal',array(10,2),0)
// 定点型 DECIMAL(P,D)表示列可以存储D位小数的P位数。当前表示最大10位数(带2位小数点),最大99999999.99
// 只有decimal求SUM得到的是精准数值
长度类型
PHP
array('Test','char',2,'是')
// char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.长度小于4个字符的char数据列不会被转换为varchar类型
array('Test','string','char(4)','是')
// char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.长度小于4个字符的char数据列不会被转换为varchar类型
array('Test','string',255,'')
// 255长度 默认空
array('Test','tinytext','','')
// 最大长度255个字节(2^8-1) 默认不为null
array('Test','text','','')
// 最大长度65535个字节(2^16-1) 默认不为null
array('Test','mediumtext','','')
// 最大长度 16777215 个字节(2^24-1 默认不为null
array('Test','longtext','','')
// 最大长度4294967295个字节 (2^32-1) 默认不为null
array('Test','','','')
// 最大长度4294967295个字节 (2^32-1) 默认不为null
日期类型
PHP
array('Test','date','','')
// 存储数据格式为:YYYY-MM-DD,它支持的范围为'1000-01-01'到'9999-12-31',并且允许使用字符串或数字为此列复制。
array('Test','time','','')
// 存储数据格式为:“hh:mm:ss”格式表示的时间值,格式显示TIME值,但允许使用字符串或数字为TIME列分配值。
array('Test','datetime','','')
// 日期和时间的组合,存储格式为:YYYY-MM-DD HH:MM:SS,它支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59',并且允许使用字符串或数字进行分配值。
array('Test','timestamp','','')
// 这是时间戳,从1970-01-01 00:00:00到当前的时间差值(注意:当你在Java中输出[new Date(0)] 的时候,输出的是:Thu Jan 01 08:00:00 CST 1970,这是因为时区的概念,中国是东八区,所以对应的是早上八点),它精确到毫秒级别,范围为:1970-01-01 00:00:00 到 2037年
评论
function 插件ID_defineDatabase(){
$database = array(
/**
*收藏表
*/
'插件ID_collect' =>array(
'table'=>"%pre%插件ID_collect' ,
'datainfo'=>array (
'ID'=>array ( 'cc_ID', 'integer ' , '',0),
'UID'=>array ( 'cc_UID' , 'integer','' ,0),
'LogID'=>array ( 'cc_LogID', 'integer', '',0),
'CreateTime'=>array ( 'cc_CreateTime' , ‘integer', '', 0),
'Meta'=>array ( 'cc_Meta', 'string' ,'' ,''),
),
),
);
foreach ( $database as $key => $v) {
$table = $v['table'];
$datainfo = $v['datainfo'];
$GLOBALS['table'][$key] = $table;
$GLOBALS['datainfo'][$key] = $datainfo;
}
return $database;
}
插件ID_defineDatabase( );
其中,datainfo就是数据库表结构
现在,只说明相关的语句写法:
integer 类型
PHP
array('Test','integer','tinyint',0)
// 默认:整数,默认为4位数,默认为0,带符号的范围是-128到127。无符号的范围是0到255。
array('Test','integer','smallint',0)
// 默认:整数,默认为6位数,默认为0,带符号的范围是-32768到32767。无符号的范围是0到65535。
array('Test','integer','mediumint',0)
// 默认:整数,默认为9位数,默认为0,带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
array('Test','integer','int',0)
// 默认:整数,默认为11位数,默认为0,带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
array('Test','integer','bigint',0)
// 默认:整数,默认为20位数,默认为0,带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。
array('Test','boolean','',0)
// 默认:BOOLEAN,是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
array('Test','float','',0)
// 单精度浮点数值 默认0
array('Test','double','',0)
// 双精度浮点数值 默认0
array('Test','decimal',array(10,2),0)
// 定点型 DECIMAL(P,D)表示列可以存储D位小数的P位数。当前表示最大10位数(带2位小数点),最大99999999.99
// 只有decimal求SUM得到的是精准数值
长度类型
PHP
array('Test','char',2,'是')
// char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.长度小于4个字符的char数据列不会被转换为varchar类型
array('Test','string','char(4)','是')
// char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.长度小于4个字符的char数据列不会被转换为varchar类型
array('Test','string',255,'')
// 255长度 默认空
array('Test','tinytext','','')
// 最大长度255个字节(2^8-1) 默认不为null
array('Test','text','','')
// 最大长度65535个字节(2^16-1) 默认不为null
array('Test','mediumtext','','')
// 最大长度 16777215 个字节(2^24-1 默认不为null
array('Test','longtext','','')
// 最大长度4294967295个字节 (2^32-1) 默认不为null
array('Test','','','')
// 最大长度4294967295个字节 (2^32-1) 默认不为null
日期类型
PHP
array('Test','date','','')
// 存储数据格式为:YYYY-MM-DD,它支持的范围为'1000-01-01'到'9999-12-31',并且允许使用字符串或数字为此列复制。
array('Test','time','','')
// 存储数据格式为:“hh:mm:ss”格式表示的时间值,格式显示TIME值,但允许使用字符串或数字为TIME列分配值。
array('Test','datetime','','')
// 日期和时间的组合,存储格式为:YYYY-MM-DD HH:MM:SS,它支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59',并且允许使用字符串或数字进行分配值。
array('Test','timestamp','','')
// 这是时间戳,从1970-01-01 00:00:00到当前的时间差值(注意:当你在Java中输出[new Date(0)] 的时候,输出的是:Thu Jan 01 08:00:00 CST 1970,这是因为时区的概念,中国是东八区,所以对应的是早上八点),它精确到毫秒级别,范围为:1970-01-01 00:00:00 到 2037年
评论
新闻资讯 更多
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法