PHP | MySQL(创建表)
什么是表?
在关系数据库和平面文件数据库中,表格是一组使用垂直列和水平行模型的数据元素,单元格是行和列相交的单元。表具有指定数量的列,但可以有任意数量的行。
使用 MySQLi 和 PDO 创建 MySQL 表
在本文中,我们已经了解了如何使用PHP在 MySQL 中创建数据库。创建表的步骤与创建数据库类似。不同之处在于我们将连接到现有数据库并在该数据库中创建一个表,而不是创建一个新数据库。要连接到现有数据库,我们可以在连接到 MySQL 时传递一个额外的变量“数据库名称”。
CREATE TABLE 语句用于在 MySQL 中创建表。
在本文中,将创建一个名为“employees”的表,其中包含四列:“id”、“firstname”、“lastname”和“email”。
将使用的数据类型是:
- VARCHAR:保存一个可变长度的字符串,可以包含字母、数字和特殊字符。最大尺寸在括号中指定。
- INT : INTEGER 数据类型接受隐含小数位数为零的数值。它存储 -2147483648 到 2147483647 之间的任何整数值。
本文中与数据类型一起使用的属性是:
- NOT NULL:每一行必须包含该列的值,不允许空值。
- PRIMARY KEY:用于唯一标识表中的行。具有 PRIMARY KEY 设置的列通常是 ID 号。
下面描述了在三个不同版本中创建表:
- 使用 MySQLi 面向对象过程创建表
句法 :connect_error) { die("Connection failed: " . $conn->connect_error); } // sql code to create table $sql = "CREATE TABLE employees( id INT(2) PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50) )"; if ($conn->query($sql) === TRUE) { echo "Table employees created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?>
输出 :
- 使用 MySQLi Procedural 过程创建表
句法 :输出 :
- 使用 PDO 过程创建表
句法 :setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // sql code to create table $sql = "CREATE TABLE employees ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50) )"; // using exec() because no results are returned $conn->exec($sql); echo "Table employees created successfully"; } catch(PDOException $e) { echo $sql . "" . $e->getMessage(); } $conn = null; ?>
输出 :