[TOC]
## 数据表创建:`Schema` facade 的 `create` 方法
`create` 方法接收两个参数:
1. 数据表的名称
2. 一个接收 `Blueprint` 实例 `$table` 的闭包,用于定义新数据表。
~~~php
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
});
~~~
>[info] 可以使用数据库结构生成器的任何 [字段方法](database/columns.md) 来定义数据表的字段。
### 检查数据表或字段是否存在:`Schema` facade 的 `hasTable` 和 `hasColumn` 方法
~~~php
if (Schema::hasTable('users')) {
//
}
if (Schema::hasColumn('users', 'email')) {
//
}
~~~
### 指定数据库连接:`Schema` facade 的 `connection` 方法
在非默认的数据库连接 `foo` 中进行数据库结构操作:
~~~php
Schema::connection('foo')->create('users', function (Blueprint $table) {
$table->increments('id');
});
~~~
### 指定数据表属性:在闭包里设置
命令 | 描述
--- | ---
`$table->engine = 'InnoDB';` | 设置MySQL数据表的存储引擎。
`$table->charset = 'utf8';` | 设置MySQL数据表的字符集。
`$table->collation = 'utf8_unicode_ci';` | 设置MySQL数据表的排序规则。
~~~php
Schema::create('users', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
});
~~~
## 数据表重命名:`Schema` facade 的 `rename` 方法
~~~php
Schema::rename($from, $to);
~~~
### 重命名带外键的数据表
在重命名前,你需要检查[外键约束](#foreign-key-constraints)涉及到的数据表名,需要在迁移文件中显式的提供,
而不是让 Laravel 按照约定来设置一个名称。因为那样会让外键约束关联到旧的数据表上。
## 数据表删除:`Schema` facade 的 `drop` 或 `dropIfExists` 方法
~~~php
Schema::drop('users');
Schema::dropIfExists('users');
~~~
## 数据表更新:`Schema` facade 的 `table` 方法
如同 `create` 方法,`table` 方法会接收两个参数:
1. 数据表的名称
2. 一个接收 `Blueprint` 实例 `$table` 的闭包,用于更新数据表。
~~~php
Schema::table('users', function (Blueprint $table) {
$table->string('email');
});
~~~
>[info] 可以使用任何数据库结构构造器的 [字段方法](database/columns.md) 来定义数据表的字段。
- 日常命令
- 第一章 开发环境部署
- 第一节 安装 VirtualBox
- 第二节 安装 Vagrant
- 第三节 安装 Git for Windows
- 命令行提示符的写作约定
- Git Bash 使用技巧
- 第四节 安装和配置 Homestead
- 第五节 启动 Homestead 虚拟机
- 第六节 创建 Laravel 应用
- 第七节 使用 Git 进行版本控制
- 总结 本章命令概览
- 第二章 前端工作流
- 第一节 Yarn 安装前端扩展包
- 第二节 Laravel Mix 前端资源编译
- (1)配置 webpack.mix.js 指定 Mix 任务
- (2)修改 resources/assets 前端资源文件
- (3)运行 Mix 任务编译和监控代码
- 总结 本章命令概览
- 第三章 数据库
- 第一节 Config 数据库配置信息
- 第二节 Migrations 数据库迁移文件
- 第三节 Schema 数据库结构生成器
- (1) 数据表操作
- (2) 字段操作
- (3) 索引操作
- 第四节 Seeding 数据填充
- 第五节 DB 数据库查询构建器
- (1)获取结果集