Skip to content

MySQL选择数据库

概述

在MySQL中选择(切换到)数据库是在对该数据库执行操作之前的必要步骤。本章介绍如何选择数据库和处理数据库上下文。

数据库上下文

数据库上下文决定了SQL语句的默认数据库。当您选择一个数据库时,所有没有显式数据库限定的后续操作都将使用该数据库。

选择数据库方法

USE语句

sql
-- Select (use) a database

-- Example

-- Verify current database

命令行

bash
# Connect directly to specific database

# Switch database after connection

# Connect and execute query

编程语言

Python / Python

python

PHP / PHP

php

当前数据库信息

获取当前数据库

sql
-- Get current database name

-- Equivalent

获取数据库详情

sql
-- Get current database character set

-- Get database size

-- List tables in current database

-- List tables with additional info

多数据库操作

限定名称

sql
-- Use fully qualified table names

-- Join tables from different databases

-- Use specific database tables in queries

跨数据库查询

sql
-- Query across databases

-- Aggregate across databases

临时表范围

sql
-- Create temporary table in current database

-- Temporary table is visible only in current session
-- It uses the current database context

-- Switch database (temporary table still accessible)

过程中的数据库上下文

存储过程

sql
-- Create procedure in specific database

-- Call procedure (uses database where it was created)

预处理语句

sql
-- Prepare statement with dynamic database

数据库连接模式

单数据库

python
# Connect to specific database

多数据库

python
# Connect to multiple databases

# Query both databases

动态数据库选择

python

# Usage

会话管理

会话变量

sql
-- Set database for session

-- Session persists until disconnected or changed
-- All queries use 'myapp' database

-- Switch database in same session

-- Current database changes for rest of session

连接池

python

# Each connection from pool has default database

数据库上下文和安全

用户权限

sql
-- User can access specific databases

-- User cannot access other databases

预处理语句

python
# Safe database selection with prepared statements

最佳实践

显式数据库限定

sql
-- Good: Use explicit database names

-- Avoid: Rely on current database context

连接管理

python
# Good: Use context manager or try-finally

    # Use connection

错误处理

python
    # Handle error

故障排除

常见错误

sql
-- No database selected
-- Error: No database selected
-- Solution: USE database_name;

-- Unknown database
-- Error: Unknown database 'database_name'
-- Solution: Check database name with SHOW DATABASES

-- Access denied
-- Error: Access denied for user to database
-- Solution: Check user privileges

调试命令

sql
-- Check current database

-- List available databases

-- Check user privileges

-- Check table existence

小结

MySQL中的数据库选择涉及:

USE语句:选择数据库的主要方法 连接参数:连接时指定数据库 上下文感知:当前数据库影响查询 跨数据库:对多个数据库使用限定名称 安全:适当的用户访问权限


上一个:删除数据库

下一个:数据类型