Tag: sql

如何查看MySQL数据库/表/列是什么字符集?

什么是(默认)字符集: MySQL数据库 MySQL表 MySQL列

在MySQL查询的WHERE子句中使用列别名会产生错误

我正在运行的查询如下,但是我得到这个错误: #1054 – “IN / ALL / ANY子查询中的未知列'guaranteed_postcode' SELECT `users`.`first_name`, `users`.`last_name`, `users`.`email`, SUBSTRING(`locations`.`raw`,-6,4) AS `guaranteed_postcode` FROM `users` LEFT OUTER JOIN `locations` ON `users`.`id` = `locations`.`user_id` WHERE `guaranteed_postcode` NOT IN #this is where the fake col is being used ( SELECT `postcode` FROM `postcodes` WHERE `region` IN ( 'australia' ) ) 我的问题是:为什么我无法在同一个数据库查询的where子句中使用假列?

SQL Server:列到行

寻找优雅的(或任何)解决方案将列转换为行。 这里是一个例子:我有一个表格,具有以下模式: [ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] … [Indicator150] 这是我想得到的结果: [ID] [EntityId] [IndicatorName] [IndicatorValue] 结果值将是: 1 1 'Indicator1' 'Value of Indicator 1 for entity 1' 2 1 'Indicator2' 'Value of Indicator 2 for entity 1' 3 1 'Indicator3' 'Value of Indicator 3 for entity 1' 4 2 'Indicator1' 'Value of Indicator 1 for entity 2' […]

Postgresql GROUP_CONCAT相当于?

我有一个表,我想每个ID拉字段值连接一行。 例如,在我的桌子上,我有这个: TM67 | 4 | 32556 TM67 | 9 | 98200 TM67 | 72 | 22300 TM99 | 2 | 23009 TM99 | 3 | 11200 我想输出: TM67 | 4,9,72 | 32556,98200,22300 TM99 | 2,3 | 23009,11200 在MySQL中,我能够使用聚合函数GROUP_CONCAT ,但似乎并没有在这里工作…是否有一个相当于PostgreSQL,或另一种方式来实现呢?

如何在Oracle中重置序列?

在PostgreSQL中 ,我可以这样做: ALTER SEQUENCE serial RESTART WITH 0; 有没有Oracle的等价物?

如何列出在SQL Server中引用给定表的所有外键?

我需要删除SQL Server数据库中高度被引用的表。 我怎样才能得到所有的外键约束,我将需要删除,以删除表的列表? (在管理工作室的图形用户界面中点击SQL应该更好。)

如何防止动态表名的SQL注入?

我有一个很高的声誉PHP的家伙这个讨论: PDO在这里没有用处。 以及mysql_real_escape_string。 质量极差。 这当然很酷,但我真的不知道建议使用mysql_real_escape_string或PDO来解决这个问题: <script type="text/javascript"> var layer; window.location.href = "example3.php?layer="+ layer; <?php //Make a MySQL connection $query = "SELECT Category, COUNT(BUSNAME) FROM ".$_GET['layer']." GROUP BY Category"; $result = mysql_query($query) or die(mysql_error()); 进入这个 $layer = mysql_real_escape_string($_GET['layer']); $query = "SELECT Category, COUNT(BUSNAME) FROM `".$layer."` GROUP BY Category"; ,考虑到JavaScript代码被发送到客户端。

如何使用新的PostgreSQL JSON数据类型中的字段进行查询?

我正在为PostgreSQL 9.2中的新JSON函数寻找一些文档和/或示例。 具体来说,给出一系列的JSON记录: [ {name: "Toby", occupation: "Software Engineer"}, {name: "Zaphod", occupation: "Galactic President"} ] 我如何编写SQL来查找名称记录? 在香草SQL中: SELECT * from json_data WHERE "name" = "Toby" 官方的开发手册相当稀少: http://www.postgresql.org/docs/devel/static/datatype-json.html http://www.postgresql.org/docs/devel/static/functions-json.html 更新我 我已经汇总了PostgreSQL 9.2目前可能实现的功能 。 使用一些自定义函数,可以执行如下操作: SELECT id, json_string(data,'name') FROM things WHERE json_string(data,'name') LIKE 'G%'; 更新II 我现在已经将我的JSON函数移动到他们自己的项目中了: PostSQL – 将PostgreSQL和PL / v8转换成一个非常棒的JSON文档存储的一组函数

在SQL Server中如何工作和'为Xml路径'工作

表格是: +—-+——+ | Id | Name | +—-+——+ | 1 | aaa | | 1 | bbb | | 1 | ccc | | 1 | ddd | | 1 | eee | +—-+——+ 要求的输出: +—-+———————+ | Id | abc | +—-+———————+ | 1 | aaa,bbb,ccc,ddd,eee | +—-+———————+ 查询: SELECT ID, abc = STUFF( (SELECT […]

SQL JOIN:USING,ON或WHERE之间有区别吗?

我想知道SQL在这些连接语句上执行的方式是否有任何区别: SELECT * FROM a,b WHERE a.ID = b.ID SELECT * FROM a JOIN b ON a.ID = b.ID SELECT * FROM a JOIN b USING(ID) 是否有性能差异? 还是算法差异? 还是只是语法糖?