【MYSQL】0001_MYSQL的识别符

本文介绍了MySQL中关于数据库、表、索引、列和别名等识别符的语法规范,包括最大长度、允许使用的字符集、如何正确引用识别符等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库、表、索引、列和别名是识别符。该节描述了在MySQL中识别符的允许的语法。

下面的表描述了每类识别符的最大长度和允许的字符:

这里写图片描述

除了表内注明的限制,识别符不可以包含ASCII 0或值为255的字节。数据库、表和列名不应以空格结尾。在识别符中可以使用引号识别符,但是应尽可能避免这样使用。

识别符用Unicode(UTF8)保存。在.frm文件中保存的对表进行定义的识别符和在mysql数据库中的授权表保存的识别符也用Unicode(UTF8)保存。在MySQL 5.1中授权表(和其它表)的字符串列的大小等于字符个数;这说明(不象以前版本的MySQL)你可以在这些列保存的值中使用多字节字符而不需要降低字符个数。

识别符可以使用引号引起来也可以不引起来。如果识别符是一个保留字或包含特殊字符,无论何时使用,必须将它引起来。

识别符的引用符是反勾号(‘`’):

mysql> SELECT * FROM `select` WHERE `select`.id > 100;

如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号将
识别符引起来:

mysql> CREATE TABLE "test" (col INT);
ERROR 1064 (42000): 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 '"test" (col INT)' at line 1
mysql> SET sql_mode = 'ANSI_QUOTES';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE "test" (col INT);
Query OK, 0 rows affected (0.02 sec)

如果你引用识别符,可以在识别符内包含识别符引用符。如果识别符内包括的字符与引用识别符的字符相同,则需要用双字符。下面的语句创建一个名为a`b包含列c”d的表:

mysql> CREATE TABLE `a``b` (`c"d` INT);

建议不要使用XeX模式的名,例如1e或2e2,因为与类似1e+1这样的数字混淆。

转载自:https://www.shiyanlou.com/courses/running

我正在实验楼撸代码,你也快来!800+编程实战教程,无需搭环境,直接练习!用我的链接注册,你我都能获得3个实验豆!http://www.shiyanlou.com/register?inviter=NTY0MzE5NDE4Njg0

### 使用 `STR_TO_DATE` 函数将字符串转换为日期 在 MySQL 中,`STR_TO_DATE()` 函数用于将给定格式的字符串解析并转换为日期或时间对象。此函数接受两个参数:要解析的字符串以及定义该字符串格式的模式。 #### 基本语法 ```sql SELECT STR_TO_DATE(string, format); ``` 其中: - **string** 是表示日期的时间戳形式的文本串。 - **format** 描述了输入字符串的确切布局,它由一系列特殊字符组成,这些字符对应于不同的日期部分(年、月、日等)。[^1] #### 示例教程 假设有一个包含日期信息作为纯文本存储的数据表,并希望将其转换为实际的 DATE 类型以便进一步处理。下面是一些具体的例子展示如何操作: ##### 例子 1: 转换简单的 "YYYY-MM-DD" 格式的字符串到日期类型 如果数据集中有形如 `'2023-11-28'` 的记录,则可以通过如下方式完成转换: ```sql SELECT STR_TO_DATE('2023-11-28', '%Y-%m-%d'); ``` 这会返回一个有效的日期值 `2023-11-28`。[^2] ##### 例子 2: 处理带有时间和分隔符的不同格式 当遇到更复杂的格式比如 `'28-11-2023 14:15:17'` (即 dd-mm-yyyy hh:mm:ss),则应调整相应的模板以匹配这种特定结构: ```sql SELECT STR_TO_DATE('28-11-2023 14:15:17', '%d-%m-%Y %H:%i:%s'); ``` 上述命令能够成功识别所提供的字符串并将之转化为标准的 DATETIME 或 TIMESTAMP 数据类型实例。 #### 注意事项 为了确保正确无误地应用 `STR_TO_DATE()` ,需要注意以下几点: - 输入字符串必须严格遵循所指定的格式说明符; - 如果提供的格式不兼容或者无法被解释为合法的日期,则结果将是 NULL; - 对大小写敏感的部分(例如月份名称)应当保持一致; - 可能需要考虑本地化设置的影响,在某些情况下可能会影响星期几的名字或是其他文化差异因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值