📜  php mysqli 主键 (1)

📅  最后修改于: 2023-12-03 15:18:20.504000             🧑  作者: Mango

PHP mysqli 主键

介绍

在 PHP 中,mysqli 是一个针对 MySQL 数据库的扩展,用于连接和操作 MySQL 数据库。主键是定义在表中的一列或一组列,它的值在表中是唯一的,用于识别和唯一标识表中的每一行。

mysqli 中,可以通过执行 SQL 查询和操作来创建和管理主键。

创建主键

可以在创建表时定义主键,以下是一个创建包含主键的示例表的 SQL 查询:

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100)
);

上述查询中,id 列被定义为主键。

设置自动增长主键

通常情况下,主键的值是由数据库系统管理和维护的。可以通过设置 AUTO_INCREMENT 来让主键自动增长:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    email VARCHAR(100)
);

注意在上述查询中,id 列的类型被定义为 INT,并设置了 AUTO_INCREMENT

插入数据

使用 INSERT INTO 语句来向表中插入数据,插入数据时可以忽略自动增长的主键列,数据库会自动生成合适的值。

<?php
$mysqli = new mysqli("localhost", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("连接失败:" . $mysqli->connect_error);
}

$name = "John";
$email = "john@example.com";

$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

if ($mysqli->query($sql) === TRUE) {
    echo "数据插入成功";
} else {
    echo "数据插入失败:" . $mysqli->error;
}

$mysqli->close();
?>

在上述示例中,使用了 INSERT INTO 语句将数据插入到名为 users 的表中。

查询数据

使用 SELECT 语句来从表中查询数据,以下是一个查询具有特定主键值的数据的示例:

<?php
$mysqli = new mysqli("localhost", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("连接失败:" . $mysqli->connect_error);
}

$id = 1;

$sql = "SELECT * FROM users WHERE id = $id";

$result = $mysqli->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"] . ", Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
    }
} else {
    echo "没有找到数据";
}

$mysqli->close();
?>

上述示例中,使用了 SELECT 语句查询 users 表中 id 列等于 1 的数据。

更新数据

使用 UPDATE 语句来更新表中的数据,以下是一个更新具有特定主键值的数据的示例:

<?php
$mysqli = new mysqli("localhost", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("连接失败:" . $mysqli->connect_error);
}

$id = 1;
$newEmail = "newemail@example.com";

$sql = "UPDATE users SET email = '$newEmail' WHERE id = $id";

if ($mysqli->query($sql) === TRUE) {
    echo "数据更新成功";
} else {
    echo "数据更新失败:" . $mysqli->error;
}

$mysqli->close();
?>

上述示例中,使用了 UPDATE 语句更新 users 表中 id 列等于 1 的数据的 email 值。

删除数据

使用 DELETE 语句来从表中删除数据,以下是一个删除具有特定主键值的数据的示例:

<?php
$mysqli = new mysqli("localhost", "username", "password", "dbname");

if ($mysqli->connect_error) {
    die("连接失败:" . $mysqli->connect_error);
}

$id = 1;

$sql = "DELETE FROM users WHERE id = $id";

if ($mysqli->query($sql) === TRUE) {
    echo "数据删除成功";
} else {
    echo "数据删除失败:" . $mysqli->error;
}

$mysqli->close();
?>

上述示例中,使用了 DELETE 语句删除 users 表中 id 列等于 1 的数据。

以上是关于 PHP mysqli 主键的介绍和示例。主键在数据库中起着重要的作用,用于确保数据的完整性和准确性。使用 mysqli 扩展可以方便地操作和管理主键。