PHP MySQL 创建表

2025年5月14日 | 阅读 4 分钟

在 PHP 5.5 之前,mysql_query() 函数是创建 MySQL 表的传统 PHP 工具。这时 MySQL 开发者弃用了 mysql_query() 函数。开发者现在必须采用更现代化的选项,因为它们提供了更好的安全性并提高了性能。这些替代方案包括:

  1. mysqli_query()(MySQLi 扩展)
  2. PDO::_query()(PHP 数据对象)

什么是表?

关系数据库表使用垂直列和水平行来组织数据,每个单元格代表系统中的单个条目。数据库需要唯一的表名,并通过其列元素定义数据结构。每个表维护一个或多个记录。

在 MySQL 中创建表

MySQL 用户通过 CREATE TABLE SQL 语句创建表。CREATE TABLE 语句定义了数据库表的标识,以及列和数据类型规范,包括列属性。

表定义使用以下标准列属性:

NOT NULL:一个列属性,用于验证数据库字段必须包含非空条目。

DEFAULT:该语句定义了一个自动值,当用户在创建记录时省略输入时,系统会应用该值。

UNSIGNED:UNSIGNED 属性与数字类型一起使用,允许值为零和正整数。

AUTO_INCREMENT:每次添加新行时,该列的值都会增加。

PRIMARY KEY:唯一标识每个记录。通常是 ID 列。

PHP MySQLi 创建表示例

示例 1

示例展示了如何使用 mysqli_query() 创建表。

示例

输出

Connected successfully
Table emp5 created successfully

说明

过程式 MySQLi 代码建立了一个测试数据库连接,以创建一个新的 emp5 表,其中包含 id、name 和 emp_salary 列。id、name 和 emp_salary。id 列用作主键,同时设置为自动递增。

在成功连接并执行查询后,系统会显示相应的消息。该结构符合基本基于 MySQLi 的过程式应用程序的要求。

示例 2

此演示中的表创建通过 MySQLi 进行,它采用了面向对象的结构。

示例

输出

Table MyGuests created successfully

说明

一个详细的 MyGuests 表包含五个列,并具有一个时间戳功能,该功能在用户修改表行时会自动更新。

面向对象风格在处理大型项目时提供了更好的项目组织,同时确保了应用程序的可伸缩性。通过这种风格,程序员获得了部署异常处理和可重用方法功能的更好能力。

PDO(PHP 数据对象)

PDO 提供了灵活的数据库使用,因为它支持多种数据库类型,同时包含强大的功能,允许用户执行预处理语句或管理事务。需要数据库抽象或多种数据库类型连接的应用程序偏爱此方法。

示例

以下代码块展示了一个基于 PDO 的表生成过程。

示例

输出

Table MyGuests created successfully

说明

try-catch 块建立了一个安全连接,通过 PDO 接口执行 CREATE TABLE 语句。

结论

PHP 开发者创建 MySQL 表有三种基本方法,包括 MySQLi 过程式、MySQLi 面向对象和 PDO。用户可以通过 MySQLi 过程式、MySQLi 面向对象和 PDO 来生成表。每种创建方法都支持表开发,但它们适应于独特的编程偏好。

过程式 MySQLi 适合初学者程序员和小项目,但面向对象的 MySQLi 为不断发展的应用程序提供了更好的组织,而 PDO 为使用多个数据库系统的安全且可扩展的应用程序提供了理想的解决方案。开发者必须使用新的 MySQLi 或 PDO 语法,而不是弃用的 mysql_query(),因为这样做可以实现安全且可持续的 PHP 开发实践。