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://: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...!
廣告