Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi komen video?

Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi komen video?

WBOY
Lepaskan: 2023-10-31 09:42:23
asal
764 orang telah melayarinya

Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi komen video?

Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video?

Di tapak web video, pengguna boleh menonton video dan meninggalkan komen. Kadangkala, kami perlu menyimpan sejumlah besar data ulasan dan dapat membuat pertanyaan serta memaparkan ulasan ini dengan cekap. Mereka bentuk struktur jadual MySQL yang cekap adalah langkah penting dalam memastikan kefungsian yang betul. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video dan memberikan contoh kod terperinci.

Pertama, kita perlu mencipta dua jadual, satu untuk menyimpan maklumat video dan satu lagi untuk menyimpan maklumat ulasan. Kami akan menggunakan pernyataan SQL berikut untuk mencipta dua jadual ini:

CREATE TABLE videos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    url VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE comments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    video_id INT NOT NULL,
    user_id INT NOT NULL,
    comment TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (video_id) REFERENCES videos(id),
    FOREIGN KEY (user_id) REFERENCES users(id)
);
Salin selepas log masuk

Dalam kod di atas, kami mencipta jadual bernama video untuk menyimpan maklumat video. Jadual mengandungi medan berikut: videos的表,用于存储视频信息。该表包含以下字段:

  • id: 视频的唯一标识符,自动递增
  • title: 视频的标题,最大长度为255个字符
  • description: 视频的描述信息,使用TEXT类型存储
  • url: 视频的URL地址,最大长度为255个字符
  • created_at: 视频创建的时间戳,默认为当前时间

同时,我们还创建了一个名为comments的表,用于存储评论信息。该表包含以下字段:

  • id: 评论的唯一标识符,自动递增
  • video_id: 评论所属的视频的ID
  • user_id: 发表该评论的用户的ID
  • comment: 评论的内容,使用TEXT类型存储
  • created_at: 评论创建的时间戳,默认为当前时间

在上述代码中,我们还定义了外键约束,确保comments表中的video_iduser_id字段与videos表和users表中的对应字段保持一致。

接下来,我们可以通过以下的代码示例展示如何向这两个表中插入数据:

<?php

// 连接到数据库
$conn = new mysqli("localhost", "username", "password", "database");

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

// 插入视频记录
$sql = "INSERT INTO videos (title, description, url) VALUES ('视频标题', '视频描述', 'http://example.com/video')";
$conn->query($sql);

// 获取刚插入的视频的ID
$videoId = $conn->insert_id;

// 插入评论记录
$sql = "INSERT INTO comments (video_id, user_id, comment) VALUES ($videoId, 1, '这是一个好视频')";
$conn->query($sql);

// 断开数据库连接
$conn->close();

?>
Salin selepas log masuk

上述代码示例展示了如何向videos表中插入一条视频记录,并获取刚插入视频的ID。然后,我们可以将该视频的ID作为参数,插入一条评论记录到comments

  • id: Pengecam unik video, ditambah secara automatik
  • tajuk: Tajuk daripada video, Panjang maksimum ialah 255 aksara
  • huraian: Maklumat penerangan video disimpan menggunakan jenis TEXT
  • < li>url: Alamat URL video, panjang maksimum ialah 255 aksara
  • created_at: Cap masa penciptaan video, lalai ialah masa semasa

Pada masa yang sama, kami juga mencipta jadual bernama komen untuk menyimpan maklumat ulasan. Jadual mengandungi medan berikut:

  • id: Pengecam unik ulasan, ditambah secara automatik
  • video_id: Video yang mana komen itu milik ID
  • user_id: ID pengguna yang menyiarkan ulasan
  • ulasan: Kandungan ulasan, gunakan TEKS Taip storan
  • created_at: Cap masa penciptaan ulasan, lalai ialah masa semasa

Dalam kod di atas, kami juga mentakrifkan kekangan kunci asing memastikan bahawa medan video_id dan user_id dalam jadual comments adalah konsisten dengan video jadual dan usersMedan yang sepadan dalam jadual kekal konsisten.

Seterusnya, kita boleh menunjukkan cara memasukkan data ke dalam kedua-dua jadual ini melalui contoh kod berikut:

<?php

// 连接到数据库
$conn = new mysqli("localhost", "username", "password", "database");

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

// 获取指定视频的评论列表
$videoId = 1;
$sql = "SELECT * FROM comments WHERE video_id = $videoId";
$result = $conn->query($sql);

// 显示评论列表
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "用户ID: " . $row["user_id"] . ", 评论内容: " . $row["comment"] . "<br>";
    }
} else {
    echo "暂无评论";
}

// 断开数据库连接
$conn->close();

?>
Salin selepas log masuk
Contoh kod di atas menunjukkan cara memasukkan rekod video ke dalam jadual video dan dapatkan Just inserted ID video. Kemudian, kita boleh memasukkan rekod ulasan ke dalam jadual ulasan menggunakan ID video sebagai parameter. 🎜🎜Selepas mereka bentuk struktur jadual dan mempelajari cara memasukkan data, kami juga perlu memahami cara membuat pertanyaan dan memaparkan ulasan dengan cekap. Contoh kod berikut menunjukkan cara untuk menanyakan senarai ulasan video tertentu: 🎜rrreee🎜Dalam contoh kod di atas, kami menanyakan senarai ulasan ID video yang ditentukan dan memaparkan ID pengguna dan kandungan ulasan setiap ulasan dengan menggelungkannya . 🎜🎜Ringkasnya, mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video memerlukan mengambil kira faktor seperti perhubungan jadual, jenis medan dan kekangan kunci asing. Melalui reka bentuk dan pengoptimuman yang munasabah, kami boleh menyimpan dan menanyakan sejumlah besar data semakan dengan cekap. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi komen video?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan