Jsnpp框架怎么新建数据库表
发布时间: 2021年5月10日 下午8:59 作者: Jsnpp 访问量: 958

我们在开发应用的时候大多数情况下都是需要数据库的,新建数据库表就是数据库使用的基础。这篇教程我们来介绍Jsnpp框架里面怎么新建数据库表。

事实上我们可以使用数据库语句来新建数据库表,但是当您使用Jsnpp框架来开发应用时,可以完全不涉及数据库语句的使用。我们可以用下面的语句来实现新建数据库表:

$this->app->database->newTable('表名', [表结构]);

以上语句的意思很明确了,就是在“$this->app”应用里面调用“database”的“newTable”方法来实现新建数据库表。“newTable”需要两个参数,第一个是表的名称,第二个是以数组形式表示的表的结构。

第一个参数表名没什么好解释的,您根据实际情况给表确定一个名称就可以了。

我们主要来介绍第二个参数,第二个参数是一个数组,数组的格式如下:

[
[数组],
[数组],
[...]
]

我们看到这是一个嵌套数组,也就是外层数组的每一个项也是一个数组,这里的每一个子数组是一个字段的描述。有了这个概念后,我们来看一个比较贴近实际的代码:

[
['name' => 'id', 'type' => 'AUTO'],
['name' => 'user', 'type' => 'VARCHAR', 'length' => 50, 'default' => '', 'index' => 'user'],
[...]
]

上面的代码跟前面的格式代码是对应的,第一个子数组“['name' => 'id', 'type' => 'AUTO']”表示自增的id字段,第二个子数组表示名称为“user”的字段,并且字段的类型是“varchar”,长度是50,默认值是空字符串,并且需要在这个字段上面建索引。

我们还可以按上面的方法添加更多的字段描述,当您把所有的字段都描述清楚了就可以了。

到现在,您应该已经明白,“newTable”的第二个参数的这个数组是映射为一张数据库表的,而数组的每一个子数组对应的是这张表里面的每个字段。当我们把数据库表的每一个字段都按上面介绍的方法描述清楚了,那么执行“newTable”语句后就能够生成实际的数据库表了。

下面我们把描述字段的每一个属性列举如下:

# 属性名 含义
1 name 字段名 字符串
2 type 类型 数据库类型相同,新增一个是自增“AUTO”,另一个是无符号整数“UINT”
3 length 长度 数值
4 notnull 是否可以为null true或者false
5 default 默认值 字符串或者数值
6 index 索引 索引名

我们可以用上面的属性来描述字段,以上所列的属性是可用的全部属性,实际使用时,并不是每个字段的描述都会用到所有属性。“name”和“type”属性是必须的,也就是说这两个属性每个字段描述时都需要,其他属性可以选择性使用。

我们看前面的例子,其中描述自增id字段的只需要两个属性:“['name' => 'id', 'type' => 'AUTO']”,而第二个字段“user”我们需要有更多的属性来对其进行描述。

再举个只需要“name”和“type”两个属性的例子:

['name' => 'userid', 'type' => 'UINT']

上面这个例子,我们使用了类型为“UINT”,这表示字段“userid”是一个无符号整数。

Jsnpp框架新建数据库表只需要使用PHP的数组就可以完成任务,您可以从数据库的语法里面解脱出来了。

出错
提交成功!
评论已经提交。
我们已经收到您的反馈!
/index/like.html
/index/dislike.html
/index/postpassword.html
Jsnpp
自豪地采用 Jpwrt