MySQL - 选择数据库 (USE 语句)



连接到 MySQL 服务器后,需要选择一个数据库来进行操作。这是因为 MySQL 服务器上可能存在多个数据库。

MySQL USE 语句

在 MySQL 中选择数据库,我们使用 SQL 的 USE 语句。一旦选择了特定的数据库,我们就可以执行不同的操作,例如创建表、添加数据、更新和删除信息。我们在选择数据库后执行的每个操作都将存储在该特定数据库中。

语法

以下是 SQL 中 USE 语句的语法:

USE DatabaseName;

这里,“数据库名称”是一个占位符,代表我们要使用的数据库的名称。

数据库名称在 MySQL 或任何其他关系数据库管理系统 (RDBMS) 中必须唯一。

示例

让我们首先使用以下 CREATE 查询创建一个名为 TUTORIALS 的数据库:

create database TUTORIALS;

现在,我们将使用以下查询获取 MySQL 服务器中存在的所有数据库:

Show databases;

以下是数据库列表:

字段
information_schema
mysql
performance_schema
tutorials

以下将选择/切换当前数据库到 TUTORIALS

USE TUTORIALS;

输出

数据库已成功选择/切换,没有任何错误。

Database changed

切换到 TUTORIALS 数据库后,我们可以执行诸如创建表和向该表中插入数据之类的操作,如下所示:

CREATE TABLE CUSTOMERS ( ID INT AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );

创建表后,执行以下查询以检索当前数据库 (TUTORIALS) 中存在的数据:

SHOW TABLES;

正如我们在下面的输出中看到的,我们在选择 TUTORIALS 数据库后创建的 CUSTOMERS 表存储在其中。

Tables_in_tutorials
customers

选择不存在的 MySQL 数据库

如果我们尝试在 MySQL 服务器中选择/切换不存在的数据库,则会产生一个错误,指出“未知数据库”。

示例

在这里,我们尝试选择/切换到不存在的数据库:

USE NonExistingDatabase;

上面查询的输出如下所示:

ERROR 1049 (42000): Unknown database 'nonexistingdatabase'

Learn MySQL in-depth with real-world projects through our MySQL certification course. Enroll and become a certified expert to boost your career.

使用客户端程序选择数据库

除了使用 MySQL 查询在 MySQL 服务器中选择/切换数据库外,我们还可以使用客户端程序来执行 USE 操作。

语法

以下是各种编程语言中此操作的语法:

要在 MySQL 服务器中通过 PHP 程序选择/切换数据库,我们需要使用 mysqli 函数 query() 执行 USE 语句,如下所示:

$sql = "USE Database_name"; $mysqli->query($sql);

要在 MySQL 服务器中通过 Node.js 程序选择/切换数据库,我们需要使用 mysql2 库的 query() 函数执行 USE 语句,如下所示:

sql = "USE Database_name"; con.query(sql);

要在 MySQL 服务器中通过 Java 程序选择/切换数据库,我们需要使用 JDBC 函数 executeUpdate() 执行 USE 语句,如下所示:

String sql = "USE Database_name"; st.execute(sql);

要在 MySQL 服务器中通过 Python 程序选择/切换数据库,我们需要使用 MySQL Connector/Pythonexecute() 函数执行 USE 语句,如下所示:

sql = "USE Database_name"; cursorObj.execute(sql)

示例

以下是程序:

$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'root@123'; $mysqli = new mysqli($dbhost, $dbuser, $dbpass); if($mysqli->connect_errno ) { printf("Connect failed: %s<br />", $mysqli->connect_error); exit(); } printf('Connected successfully.<br />'); if ($mysqli->query("USE TUTORIALS")) { printf("Database selected successfully...!<br />"); } if ($mysqli->errno) { printf("Database could not connect: %s<br />", $mysqli->error); } $mysqli->close();

输出

获得的输出如下所示:

Connected successfully.
Database selected successfully...!
var mysql = require('mysql2'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "Nr5a0204@123" }); //Connecting to MySQL con.connect(function (err) { if (err) throw err; console.log("Connected!"); console.log("--------------------------"); //Selecting a Database sql = "Use TUTORIALS;" con.query(sql, function(err, result){ if (err) throw err console.log("Database selected successfully...") }); });

输出

生成的输出如下所示:

Connected!
--------------------------
Database selected successfully...!
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class SelectDatabase { public static void main(String[] args) { String url = "jdbc:mysql://#:3306/"; String user = "root"; String password = "password"; System.out.println("Connecting to select database.....!"); try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); Statement st1 = con.createStatement(); String sql = "USE TUTORIALS"; st1.execute(sql); System.out.println("Database selected successfully...!"); }catch(Exception e) { e.printStackTrace(); } } }

输出

获得的输出如下所示:

Connecting to select database.....!
Database selected successfully...!
import mysql.connector # creating the connection object connection = mysql.connector.connect( host ="localhost", user ="root", password ="password") # creating cursor object cursorObj = connection.cursor() # selecting the database cursorObj.execute("USE TUTORIALS") # Fetching a single row print("Database selected Successfully...!") # disconnecting from server connection.close()

输出

以上代码的输出如下:

Database selected Successfully...!
广告