Laravel学习二:数据库配置以及数据的迁移填充

21 篇文章 0 订阅
7 篇文章 0 订阅

1、laravel连接数据库

laravel支持的数据库有四种:MySQL    PostgreSQL    SQLite    SQL Server

1)、连接MySQL

1:连接数据库的配置文件在:config文件夹下的database.php文件中找到mysql部分配置:

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'mylaravel'),//数据库名
            'username' => env('DB_USERNAME', 'root'),//用户名
            'password' => env('DB_PASSWORD', 'root'),//密码
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],

2:在.env文件里配置数据库的名字,密码,数据库名

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mylaravel
DB_USERNAME=root
DB_PASSWORD=root

【注:】如果是php artisan serve 方式启动的,修改了配置文件,则需要重新启动,才能读取配置文件。,如果是wamp 等环境则不需要重启。

2)、创建user表

①、首先通过Artisan 命令创建迁移文件

1:在框架的根目录下cmd中执行下列命令创建user表的迁移文件:

php artisan make:migration create_user_table

运行结果创建成功:

这样我们就可以在database/migrations目录下发现我们新生成的文件,文件名前一部分是建立的时间后一部分是执行的名称。

 

打开文件如下:

up()方法里新增消息(表,列,索引),down()方法删除消息。

在up()里添加如下代码:

  public function up()
    {
        Schema::create('user', function (Blueprint $table) {    //建立数据表user
            $table->increments('id');               //主键自增
            $table->string('name')->unique();       //'name'列唯一
            $table->string('password');             //'password'
            $table->string('email')->unique();      //'email'唯一
            $table->timestamps();                   //自动生成时间戳记录创建更新时间
        });
    }

②在cmd中执行迁移文件:

【注】如果当前是第一次执行迁移文件的话,则需要先去执行:php artisan migrate:install 用于创建记录迁移文件的记录数据表:

执行成功后发现数据库中多出一张表,该表将记录已经执行过的迁移文件。

现在可以执行迁移文件了:

 

php artisan migrate

执行结果:

数据库也自动创建了一张user表

至此,表创建成功了。开始往表中添加记录。

 

3)、数据的填充

填充操作就是往数据表中填写测试数据。(增加数据)

①、填充文件的创建:

填充器的目录:

利用cmd 创建填充文件:

php artisan make:seeder UserTableSeeder

创建结果:

打开填充文件发现只有一个run()方法,并进行编辑 。

public function run()
    {
    	//定义数组
    	$data=[
    		[
    			'name'     =>  'Bom',
    			'password' =>  '123123',
    			'email'    =>  '123@123.com'
    		],

			[
    			'name'     =>  'xppbin',
    			'password' =>  '123123',
    			'email'    =>  '456@123.com'
    		],
    		[
    			'name'     =>  'Su',
    			'password' =>  '123123',
    			'email'    =>  '789@123.com'
    		],

			[
    			'name'     =>  'Gao',
    			'password' =>  '123123',
    			'email'    =>  '741@123.com'
    		]

    	];
        //写入数据
        DB::table('user')->insert($data);	
    }

②执行填充文件

php artisan db:seed --class=UserTableSeeder

执行成功后结果

同时数据表里也有了数据

填充器的执行没有回滚操作,可以去客户端直接清空表数据。

上面我们简单插入了几天数据,但如果做项目这样的方式肯定不行,会使用工厂模型去解决这个问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值