洛小依

Mysql的基本用法
连接MySQL 实例(MySQLi - 面向对象<?php $ servername = “ localho...
扫描右侧二维码阅读全文
25
2018/12

Mysql的基本用法

数据库,是一个WEB端的大脑,非常之重要,简称MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

连接MySQL

实例(MySQLi - 面向对象
<?php $ servername = “ localhost ” ;
$ username = “ username ” ;
$ password = “ 密码” ;

// 创建连接

$ conn = new mysqli ($ servername ,$ username ,$ password );

// 检测连接 
if ($ conn - > connect_error ){ die (“ 连接失败:” 。$ conn - > connect_error );
} echo “ 连接成功” ;
?>  

注意在以上面向对象的实例中$ connect_error是在PHP 5.2.9和5.3.0中添加的。如果你需要兼容更早版本请使用以下代码替换:

//检测连接
if(mysqli_connect_error()){ 
    die( “数据库连接失败:”。mysqli_connect_error()); 
}

实例(MySQLi - 面向过程
<?php $ servername = “ localhost ” ;
$ username = “ username ” ;
$ password = “ 密码” ;
 
// 创建连接

$ conn = mysqli_connect ($ servername ,$ username ,$ password );
 
// 检测连接
if (!$ conn ){ die (“ Connection failed:” 。mysqli_connect_error ());
} echo “ 连接成功” ;
?>

实例 (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
 
try {
    $conn = new PDO("mysql:host=$servername;", $username, $password);
    echo "连接成功"; 
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
?>

添加数据

实例 (MySQLi - 面向对象)
<?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();
?>

实例 (MySQLi - 面向过程)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
 
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
 
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
 
if (mysqli_query($conn, $sql)) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
 
mysqli_close($conn);
?>

实例 (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
 
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式,用于抛出异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO MyGuests (firstname, lastname, email)
    VALUES ('John', 'Doe', 'john@example.com')";
    // 使用 exec() ,没有结果返回 
    $conn->exec($sql);
    echo "新记录插入成功";
}
catch(PDOException $e)
{
    echo $sql . "<br>" . $e->getMessage();
}
 
$conn = null;
?>

修改数据

MySQL UPDATE 语句测试:
<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'UPDATE runoob_tbl
        SET runoob_title="学习 Python"
        WHERE runoob_id=3';
 
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('无法更新数据: ' . mysqli_error($conn));
}
echo '数据更新成功!';
mysqli_close($conn);
?>

删除语句

MySQL DELETE 子句测试:
<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'DELETE FROM runoob_tbl
        WHERE runoob_id=3';
 
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('无法删除数据: ' . mysqli_error($conn));
}
echo '数据删除成功!';
mysqli_close($conn);
?>

查询语句

mysql > select * from runoob_tbl;
runoob_idrunoob_titlerunoob_authorsubmission_date
1学习 PHP菜鸟教程2018-12-25
2学习 MySql菜鸟教程2018-12-25
3JAVA 教程菜鸟教程2018-12-25
4学习 PyThon菜鸟教程2018-12-25

尝试以下实例来显示数据表 runoob_tbl 的所有记录。使用 mysqli_fetch_array MYSQLI_ASSOC 参数获取数据:
<?php
$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT runoob_id, runoob_title, 
        runoob_author, submission_date
        FROM runoob_tbl';
 
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    echo "<tr><td> {$row['runoob_id']}</td> ".
         "<td>{$row['runoob_title']} </td> ".
         "<td>{$row['runoob_author']} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

查询后会输出下列表格数据(mysqli_fetch_array):

教程 ID标题作者提交日期
1学习 PHP菜鸟教程2018-12-25
2学习 MySql菜鸟教程2018-12-25
3JAVA 教程菜鸟教程2018-12-25
4学习 PyThon菜鸟教程2018-12-25

由于本人被框架所坑,所以原生查询基本都忘记差不多了,这些都是在手册里所查得。留作记录,方便自己日后查看。
最后修改:2019 年 04 月 16 日 03 : 42 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论