MySQL注释用单引号还是双引号?

说实话,MySQL 确实很烦人,尤其是评论区很容易惹事。
刚接手一个老项目的时候,由于注释中使用了括号,出现了错误。
当时我很困惑。

在MySQL中给表或字段添加注释时,必须使用英文括号。
比如创建一个表,可以这样写: sql 创建表用户( id INT NOT NULL COMMENT '用户 ID', 名称 VARCHAR(5 0) COMMENT '用户名' );
这里的“用户ID”和“用户名”是注释文本,括号必须是英文。

有趣的是,如果表名和字段名包含空格或关键字,则必须用引号括起来,例如用户名。
但对于注释来说,不管表名字段有多么奇怪,注释内容还是需要用括号括起来。
当时我有一个同事坚持用引号来注释,结果在 ANSI_QUOTES 模式下崩溃了,说引号已经被解析成标识符了。

我查看了官方文档,发现默认情况下MySQL将双引号当作普通字符串处理,但是如果启用ANSI_QUOTES模式(可以使用SELECT @@sql_mode;看看是否存在这样的问题),则必须使用双引号来包裹表名和字段名。
如果这个时候用引号来写注释就会出现问题。
例如,以下写入方法在 ANSI_QUOTES 模式下会出错: sql CREATE TABLE "user" ("id" INT NOT NULL COMMENT "User ID");
正确的拼写是: sql CREATE TABLE users (id INT NOT NULL COMMENT 'User ID');
老实说,这很令人困惑。
另一个令人遗憾的是,如果注释正文中有括号,则需要对其进行转义。
例如,如果你想注释'O''Reilly',你必须这样写: sql COMMENT 'O''Reilly';
我不明白当时为什么会这样。
然后我问了一位高级开发人员,发现这与人物逃逸有关。

编写 SQL 时,注释内容应使用括号,并且仅在绝对必要时才对表名和字段名使用退格键。
另外,不要忘记检查 SQL 模式,否则,当启用 ANSI_QUOTES 并使用不正确的引号时,您将遇到麻烦。
我在这里踩过一些陷阱,所以你要小心。

mysql数据库中的comment如何使用?

嘿嘿,你提到的MySQL注释功能很实用,但是我上次使用的时候也陷入了同样的陷阱,并且犯了一个错误。
您问这个问题是因为您想向表或字段添加注释,对吧? I used this when I added data dictionary functionality to an e-commerce project in July 2 02 3 . For example, in the test environment of the Shanghai shopping mall, I added comments to a certain order table, using method ALTER TABLE commands 'Record the user's order time' in column order_time;.添加后选中时,使用命令中的完整列。
来看看评论。
使用“显示列”命令;但你看不到它们。
请注意这一点。
当时我就傻乎乎的以为是我把SQL写错了,但是我看了很长时间官方文档才搞清楚。

当您删除注释时,您将拥有 ALTER TABLE table_name DROP COLUMN column_name COMMENT。
没有把握。
我经常使用 ALTER TABLE table_name COMMENT='';要清除注释或者直接使用 ALTER TABLE table_name DROP COLUMN column_name;删除字段本身(这个更深入哈哈)。
但是,您提到的删除语法也可以工作。
不管怎样,MySQL 有时对于如何编写 ALTER TABLE 更加灵活。

哦,顺便说一句,你应该密切注意权限。
我之前有一个新的实习生。
通过握手,ALTER TABLE 被写为 DROP TABLE。
还好我发现得及时,不然整张桌子就毁了。
所以操作前一定要多次检查表名!尤其是在网络环境下,真的不能大意。

这取决于你。
如果您想添加注释,“更改表...添加注释...”列绝对是正确的。
要查看评论,请使用完整版本。
清除注释即可删除或者根据自己的需要直接删除字段。
无论如何,我需要更加小心权限。

mysql执行的sql脚本中,注释怎么写?

说实话,MySQL确实很有趣,评论也特别独特。
我已经测试过并测试了 SQL 功能,并对其进行了注释。
例如,如果您键入 /order_by_desc/ select from t1 ,则此标记可能会出现在 MySQL 系统日志中,这比常规注释提供了更多的可追溯性。

有趣的是,MySQL 还支持以 ! 开头的注释。
加上版本号。
例如! 1 0000 zgjidhni nga t1 ,që do të thotë se ky koment do të njihet vetëm nëse versioni MySQL është më i madh se 1 0.0 (sepse 1 0000 është 1 0.0 kur krahasohet si varg)。
Megjithëse 版本是 9 .0 的最新版本,您可以使用系统中的版本。
结果什么也没执行,但注册表中却清晰地留下了痕迹。
I later discovered that the show full processlist command can also see these hidden tags, which is very convenient for debugging tags.
But I must remind you that MySQL comment extensions do not exist at all in standard SQL. Other databases such as PostgreSQL or Oracle will ignore this comment as normal text.我有一个朋友用Oracle配合MySQL标记的脚本,但是执行的时候直接报错,说这个结构无法解析。
This just confirms your third point - when using MySQL extension features, portability should be a question mark.
我记得有一次我正在为客户制定迁移计划。
MySQL 的特定版本和版本,是与 Workbench 相关的特定版本。
When I wrote the migration script for them, I got really confused - these tags are not defined at all in standard SQL.最后只能用标准注释一一改写。
虽然失去了一些MySQL特有的功能,但至少可以流畅运行。
Therefore, before using the extended features, you should consider the cost of migration.

如何在MySQL中使用注释

在MySQL中,注释非常有用。
它可以让事情变得更容易理解。

例如,在2 02 2 年我想建立一个名为testdb的数据库。
您可以在构建时添加评论。

sql 创建数据库 testdb COMMENT '这是一个测试数据库';
构建完成后,testdb会有注释。
此评论意味着这是用于测试的。

再比如,创建一个表users。

sql 创建表用户( ID INT 自动递增主键, 用户名 VARCHAR(5 0) NOT NULL COMMENT '用户名', 电子邮件 VARCHAR(5 0) NOT NULL COMMENT '电子邮件' ) COMMENT '用户信息表';
你看,id、用户名和电子邮件都在这里注释了。
username 是用户名,email 是电子邮件地址。

如果创建完表后想要更改注释,也可以使用ALTER TABLE。

sql ALTER TABLE users MODIFY username VARCHAR(5 0) COMMENT '用户名(更改后)';
更改了用户名评论。

列的数据类型和约束也可以使用注释来描述。
例如,订单表订单。

sql 创建表订单( id INT AUTO_INCRMENT PRIMARY KEY COMMENT '订单唯一标识符', order_date DATETIME NOT NULL COMMENT '订单创建时间(精确到秒)', amount DECIMAL(1 0,2 ) COMMENT '订单金额(单位:元)', FOREIGN KEY (customer_id) REFERENCEScustomers(id) COMMENT '相关客户 ID' );
这里的每个字段都有注释来解释它的作用。

存储过程也可以被注释。
例如获取用户计数。

sql CREATE PROCEDURE GetUserCount(OUT Total INT) COMMENT '获取用户总数' 开始 SELECT COUNT() TO Total FROM 用户; 结束;
注释也可以添加到索引中。
例如,创建用户名索引。

sql CREATE INDEX idx_username ON users(username) COMMENT '加速用户名查询';
我如何获得通知?使用 SHOW 或信息表。

sql -
查看数据库评论 SHOW CREATE DATABASE testdb;
-
查看表注释 SHOW CREATE TABLE users;
-
查询列的注释 SELECT 列名、列注释 FROM 信息表.columns WHERE 表名 = '用户';
然后就可以看到评论了。

通常,注释用于解释对象的作用、约束是什么或业务逻辑。
在团队工作或者后期维护的时候可以更好的理解。

语法是将 COMMENT 'text' 添加到 CREATE 或 ALTER 语句中。

适用的对象包括数据库、表、列、索引和存储过程。

最佳实践是注释关键对象和复杂逻辑,而不是添加简单字段。
如果添加正确,数据库结构将清晰且易于维护。