> 文章列表 > thinkphp创建数据库表

thinkphp创建数据库表

thinkphp创建数据库表

ThinkPHP创建数据库表

ThinkPHP是一个优秀的PHP开发框架,它的ORM模型可以很方便的操作数据库,本文将介绍如何使用ThinkPHP创建数据库表。

连接数据库

在操作数据库前,必须先连接到数据库。在ThinkPHP中,我们可以在config/database.php文件中配置数据库连接信息,例如:

'db_type'       =>  'mysql',    // 数据库类型'db_host'       =>  'localhost', // 服务器地址'db_name'       =>  'test',      // 数据库名'db_user'       =>  'root',      // 用户名'db_pwd'        =>  '123456',    // 密码'db_port'       =>  '3306',      // 端口'db_charset'    =>  'utf8',      // 数据库编码默认采用utf8

创建模型类

ThinkPHP的ORM模型使用了ActiveRecord模式,在操作数据库时,需要定义模型类。模型类通常以数据表名为名称,例如test表的模型类名为TestModel。模型类继承自Think\Model类,并设置表名、主键等属性,例如:

namespace Home\Model;use Think\Model;class TestModel extends Model {    protected $tableName = 'test';  // 数据表名    protected $pk        = 'id';    // 主键名}

创建数据表

通过模型类,我们可以方便的创建和操作数据表。在ThinkPHP中,可以使用createSql()方法生成创建数据表的SQL,例如:

$Test = new TestModel();$sql  = $Test->createSql();echo $sql;

此时将会输出类似下面的SQL语句:

CREATE TABLE `test` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `title` varchar(255) NOT NULL,  `content` text NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

添加表字

在创建数据表后,我们也可以继续添加表字段。在ThinkPHP的模型类中,使用addFields()方法可以方便的添加字段,例如:

$Test = new TestModel();$Test->addFields(array(    'create_time' => array('type' => 'datetime', 'not null' => true, 'default' => '0000-00-00 00:00:00', 'comment' => '创建时间'),    'update_time' => array('type' => 'datetime', 'not null' => true, 'default' => '0000-00-00 00:00:00', 'comment' => '更新时间')));

删除表字段

在添加表字段后,我们也可以继续删除表字段。在ThinkPHP的模型类中,使用removeFields()方法可以方便的删除字段,例如:

$Test = new TestModel();$Test->removeFields(array('create_time', 'update_time'));

总的来说,使用ThinkPHP创建数据表非常的方便,通过模型类、addFields()和removeFields()等方法,可以方便的对数据表进行增删改查操作。