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'

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

除了使用 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://127.0.0.1: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...!
广告