1.delimiter $$ 这段代码的作用是什么?2.在mysql中用 declare和set定义变量,除了一个不加@和一个加@,还有什么区别?4. 数据类型Decimal和Float的区别是什么
时间: 2024-06-07 14:08:03 浏览: 86
浅谈MySQL存储过程中declare和set定义变量的区别
1. delimiter $$ 这段代码的作用是临时修改 MySQL 命令行客户端中的语句分隔符,将其改为 "$$",以便执行存储过程等复杂的 SQL 语句。执行完毕后,需要恢复分隔符为原来的 ";"。
2. 在 MySQL 中,使用 DECLARE 声明变量时,如果在变量名前加上 "@" 符号,表示该变量为用户变量,只在当前会话中有效;不加 "@" 符号表示该变量为全局变量,可以跨会话使用,但需要注意变量名的唯一性。
3. 数据类型 Decimal 和 Float 的区别在于它们的存储方式和精度。Decimal 存储为定点数,可以精确表示小数,而 Float 存储为浮点数,对于大部分小数可以精确表示,但对于一些小数可能存在精度损失。因此,如果需要精确表示小数时,建议使用 Decimal,如果对精度要求不高,可以使用 Float。
阅读全文