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()等方法,可以方便的对数据表进行增删改查操作。