标题: MySQL 创建数据库题目:You have an error in your SQL syntax(MySQL 数据 [打印本页] 作者: 尚未崩坏 时间: 2025-1-20 15:35 标题: MySQL 创建数据库题目:You have an error in your SQL syntax(MySQL 数据 题目描述与处理策略
1、题目描述
CREATE DATABASE my-shop-db;
复制代码
执行上述 SQL 语句,报如下错误
CREATE DATABASE my-shop-db
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-shop-db' at line 1
# 翻译
CREATE DATABASE my-shop-db
SQL 语句语法有错误
请查看与 MySQL 服务版本对应的手册,以获取在第 1 行使用的正确语法
复制代码
2、题目缘故原由
在 MySQL 中创建一个名为 my-shop-db 的数据库失败,因为 my-shop-db 中包罗了不被允许的字符(此案例中为破折号 -)
MySQL 的数据库名称有一些限定,通常只允许字母、数字、下划线(_),并且不能以数字开头
3、处理策略
将 my-shop-db 中的破折号 - 修改为下划线(_)
CREATE DATABASE my_shop_db;
复制代码
增补学习
MySQL 数据库定名规则
(1)基本介绍
数据库名称只能包罗字母 a ~ z、A ~ Z、数字 0 ~ 9 和下划线 _
特别字符(例如,空格、破折号 -、@、井号 # 等)是不被允许的
在大多数操作系统上(例如,类 Unix 系统),MySQL 的数据库名称是区分巨细写的,但在 Windows 上,MySQL 的数据库名称默认不区分巨细写,因为 Windows 文件系统通常不区分巨细写
避免使用 MySQL 的保留字作为数据库名称
每个数据库名称在 MySQL 中必须是唯一的
(2)演示(反例)
避免使用特别字符
CREATE DATABASE my@shop@db;
复制代码
# 结果
CREATE DATABASE my@shop@db
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@shop@db' at line 1
复制代码
注意区分巨细写(此案例环境为 Windows 系统,在数据库 my_shop_db 存在的环境下创建数据库 my_shop_DB)
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select' at line 1