PHP MySQL 创建数据库学习笔记
1. 创建数据库
在 PHP 中,可以使用 MySQLi 和 PDO 扩展来连接 MySQL 数据库,并执行 SQL 语句。要创建一个新的数据库,可以使用以下 SQL 语句:
sqlCopy CodeCREATE DATABASE database_name;
其中,database_name
是新数据库的名称。
以下是一个使用 MySQLi 扩展创建新数据库的示例代码:
phpCopy Code<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
2. 创建数据表
要在新创建的数据库中创建数据表,可以使用以下 SQL 语句:
sqlCopy CodeCREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
.....
);
其中,table_name
是新数据表的名称,column1
、column2
等是数据表中的列名,datatype
是这些列的数据类型。
以下是一个使用 MySQLi 扩展在新创建的数据库中创建数据表的示例代码:
phpCopy Code<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建数据表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "数据表 MyGuests 创建成功";
} else {
echo "创建数据表错误: " . $conn->error;
}
$conn->close();
?>
在上面的代码中,我们创建了一个名为 MyGuests
的新数据表,该数据表包含 id
、firstname
、lastname
、email
和 reg_date
等列。
3. 插入数据
要向新创建的数据表中插入数据,可以使用以下 SQL 语句:
sqlCopy CodeINSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中,table_name
是要插入数据的数据表名称,column1
、column2
等是要插入数据的列名,value1
、value2
等是要插入的数据值。
以下是一个使用 MySQLi 扩展向新创建的数据表中插入数据的示例代码:
phpCopy Code<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 插入数据
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
在上面的代码中,我们插入了一条包含 John
、Doe
和 john@example.com
的新记录。
4. 查询数据
要从数据表中查询数据,可以使用以下 SQL 语句:
sqlCopy CodeSELECT column1, column2, ...
FROM table_name
WHERE condition;
其中,column1
、column2
等是要查询的列名,table_name
是要查询的数据表名称,condition
是一个可选的条件,用于限制返回数据的行数和列数。
以下是一个使用 MySQLi 扩展从新创建的数据表中查询数据的示例代码:
phpCopy Code<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询数据
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
在上面的代码中,我们从名为 MyGuests
的数据表中查询 id
、firstname
和 lastname
列,并使用 PHP 的 while
循环遍历结果集并输出查询结果。
以上就是使用 PHP MySQL 执行创建数据库、创建数据表、插入数据和查询数据等操作的学习笔记和示例代码。