连接数据库服务器
连接到 MySQL 数据库服务器是进行任何数据库操作的第一步。在实际工作中,开发人员通常通过命令行界面或者图形化用户界面工具来连接数据库。本节将介绍如何使用命令行和编程语言连接 MySQL 数据库。
使用命令行连接 MySQL
命令行是连接 MySQL 最直接的方式之一。首先,确保你的计算机上已经安装了 MySQL 并且服务已启动。打开命令行工具,例如 Windows 的命令提示符或 Mac/Linux 上的终端。
通过命令行连接
在命令行中输入以下命令来连接到 MySQL 服务器:
mysql -u 用户名 -p
这里的“用户名”需要替换为你自己的 MySQL 用户名。执行上述命令后,系统会提示你输入密码。输入正确的密码后,即可成功连接到 MySQL 服务器。
退出 MySQL 命令行
在 MySQL 命令行中,可以通过输入 exit 或者按 Ctrl + D 来退出当前的 MySQL 会话。
使用编程语言连接 MySQL
在 Web 开发中,我们经常需要通过编程语言来连接数据库。以下是几种常用编程语言连接 MySQL 的示例代码。
PHP
PHP 提供了多种方式连接 MySQL 数据库,其中最常见的是使用 mysqli 扩展或 PDO (PHP Data Objects)。
使用 mysqli
// www.javascriptcn.com code example
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>使用 PDO
// www.javascriptcn.com code example
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
try {
$conn = new PDO("mysql:host=$servername;dbname=your_database", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>Python
Python 中可以使用 pymysql 或者 mysql-connector-python 库来连接 MySQL。
使用 pymysql
// www.javascriptcn.com code example
import pymysql.cursors
# Connect to the database
connection = pymysql.connect(host='localhost',
user='your_username',
password='your_password',
database='your_database',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@example.com', 'very-secret'))
# connection is not autocommit by default. So you must commit to save your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
cursor.execute(sql, ('webmaster@example.com',))
result = cursor.fetchone()
print(result)
finally:
connection.close()使用 mysql-connector-python
// www.javascriptcn.com code example
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")JavaScript (Node.js)
对于 Node.js 环境,我们可以使用 mysql 或者 sequelize(一个 ORM 库)等库来连接 MySQL。
使用 mysql
// www.javascriptcn.com code example
const mysql = require('mysql');
const connection = mysql.createConnection({
host : 'localhost',
user : 'your_username',
password : 'your_password',
database : 'your_database'
});
connection.connect((err) => {
if (err) throw err;
console.log('Connected!');
});
// 执行查询
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();使用 Sequelize
// www.javascriptcn.com code example
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: /* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */
});
(async () => {
try {
await sequelize.authenticate();
console.log('Connection has been established successfully.');
} catch (error) {
console.error('Unable to connect to the database:', error);
}
})();通过以上示例,你可以看到不同编程语言连接 MySQL 的方法各有特点。选择哪种方式主要取决于你的项目需求和个人偏好。无论是命令行还是编程语言,正确地连接到 MySQL 数据库是进行数据库操作的前提条件。