php - MySQL:查询中的符号

标签 php mysql sql

我最近注意到在 MySQL 查询中使用了几个我以前从未见过的奇怪符号。我从未使用过它们,但我试图理解它们的含义。我没有找到任何关于此的信息,因为我不知道它们是如何被调用的。

比方说,我有这张表:

id  | city | population 
250 | Carlisle | 75305
  1. 这是什么|?它的输出是什么?

更新城市 SET population = population | 5 其中 id = 250

  1. 情况更复杂。

更新城市 SET population = population & ~2 | 6 其中 id = 250

  1. 使用“where”子句进行查询。这是什么 WHERE 子句?将选择哪些行?

SELECT * FROM cities WHERE population & 2 > 0

  1. 通过 PHP 在 INSERT INTO 查询中使用多个值。那些 %s 和 %u 值是多少?如何知道应该将 %s 还是 %u 放在查询中?为什么我应该使用它而不是将值直接放在 VALUES 区域的简单查询?

sprintf("INSERT INTO cities (id, city, population) VALUES ('%s', '%u', '%s')", $id, $city, $population);

谢谢你的回答。

最佳答案

你说的奇怪符号是按位运算符,你可以看看here获取更多信息。

%s、%u 等是 PHP 格式规范。有关完整信息,请查看 here .

您当然可以在 PHP 中创建一个字符串,将值直接放入 VALUES 子句中。格式说明符可以帮助提醒相应的数据库列是什么类型。

你的例子也可以写成:

$query = "INSERT INTO cities (id, city, population) VALUES ('$id', '$city', '$population')";

关于php - MySQL:查询中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30144754/

相关文章:

php - 在 PHP 中获取 DomElement 的内部 HTML

php - 按 id 但向后调用数据库行

php - 在 while 循环中获取表单值并插入到 MySQL 表中

mysql - 如何修正这个触发功能?

php - 将数据导出为CSV格式并将csv文件存储在服务器中

php - 如何解决 PHP ACF 错误 : "Trying to access array offset on value of type bool"?

mysql - 向订阅某些标签的用户显示帖子

asp.net - 从文本框中获取印地语字符的输入并将其存储到数据库

sql - 如何将列数据拆分到不同的行

php - 如何在 prestashop 的产品页面上显示自定义表格字段