1. 利用php artisan 对mysql基本操作 * * (1).使用Artisan命令make:migration来创建一个新的迁移: * eg: php artisan make:migration create_users_table * * (2).运行迁移 * eg: php artisan migrate * 强行迁移 : php artisan migrate --force * * (3).回滚迁移 * 想要回滚最新的一次迁移”操作“,可以使用rollback命令,注意这将会回滚最后一批运行的迁移,可能包含多个迁移文件: * php artisan migrate:rollback * migrate:reset命令将会回滚所有的应用迁移: * * (4).在单个命令中回滚/迁移 * php artisan migrate:refresh * * //结构数据同时迁移 * php artisan migrate:refresh --seed * * (5).重命名/删除表 * 重命名:$from 原表名 || $to 新表名 * Schema::rename($from, $to); * * 删除表:$table 表名 * Schema::drop($table); * Schema::dropIfExists($table); * * (6).创建列/及其列修改 * 使用Schema门面上的table方法 * eg: Schema::table('users', function ($table) { * $table->string('email'); //创建列 * $table->string('description')->nullable()->after('title'); //指定添加位置 * $table->drop.$indexName($filedName); //删除索引 * $table->foreign('user_id')->references('id')->on('users'); //外键约束 * $table->dropForeign('posts_user_id_foreign'); //删除外键 * * "*** 注意:删除指定的列。请记住任何与该列关联的索引也将被删除。***"; * $table->dropColumn('email'); //删除列 * $table->dropColumn('email', 'avatar', 'location'); //删除多列 * $table->string('email', 50)->nullable()->change(); //修改属性 * * "*** 注意:enum类型的列的重命名暂不支持。***"; * $table->renameColumn('email', 'emails'); //重命名列 * }); * * * (7).清除表时先忽略外键约束 * DB::statement('SET FOREIGN_KEY_CHECKS=0;'); * App\User::truncate(); * DB::statement('SET FOREIGN_KEY_CHECKS=1;'); * * (8).删除枢纽表的关联数据使用detach * eg: User::find(1)->roles()->detach(); * * //添加字段名 * (9). php artisan make:migration add_要添加的字段名_to_要添加字段的表名_table --table=要添加字段的表名 * * //修改字段名 * (10). 修改原有字段属性 php artisan make:migration change_要修改的字段名_on_要修改字段的表名_table --table=要添加字段的表名 *参考:https://laravel.com/docs/5.6/migrations http://laravelacademy.org/post/130.html