USE语句用于切换当前会话的数据库,语法为USE database_name;,仅作用于当前连接,不可在存储过程等中使用,执行成功显示“Database changed”。

在 MySQL 中切换数据库,最直接的方法就是使用 USE 语句。它用于选择当前会话要操作的目标数据库,之后所有未指定库名的表操作(如 SELECT、INSERT、UPDATE)都会默认在这个库中执行。
USE 语句基本语法
语法非常简单:
USE database_name;
其中 database_name 是你已创建的数据库名称,注意不加引号(即使含特殊字符或数字开头,只要合法且存在,也不用引号;若含连字符等,需用反引号 `db-name`)。
例如:
USE myapp;
USE `user-data`;
切换前确认数据库是否存在
如果 USE 后跟了一个不存在的数据库名,MySQL 会报错:ERROR 1049 (42000): Unknown database 'xxx'。因此建议先查看已有数据库:
- 执行 SHOW DATABASES; 列出所有数据库
- 检查目标库是否在列表中(注意大小写敏感性:Linux 系统下数据库名默认区分大小写,Windows 不区分)
USE 语句的作用范围和注意事项
USE 只影响当前客户端连接会话,不会改变其他连接或全局默认库。退出当前会话后,下次登录仍需重新 USE。
- 不能在存储过程、函数或触发器中使用 USE(语法错误)
- 执行成功时返回 Database changed 提示(命令行客户端可见)
- 可通过 SELECT DATABASE(); 查看当前选中的数据库(返回 NULL 表示尚未选择)
常见误用与排查
遇到“Unknown database”但确定库存在?可能原因包括:
- 拼写错误(如大小写不符、多空格、中文全角字符)
- 用户没有该数据库的访问权限(可用 SHOW GRANTS; 检查)
- 数据库名含特殊字符但未用反引号包裹(如 USE user-log; ❌,应写为 USE `user-log`; ✅)










