Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

10
仅当sql服务器中存在外键约束时,如何删除它?
我可以使用以下代码删除表(如果存在),但不知道如何在约束条件下进行操作: IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go 我还使用以下代码添加了约束: ALTER TABLE [dbo].[TableName] WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name]) REFERENCES [dbo].[TableName2] ([ID]) go

7
带外键的表列可以为NULL吗?
我有一个表,其中有几个ID列指向其他表。 我希望只有在将数据放入其中时,外键才能强制完整性。如果我稍后进行更新以填充该列,则它还应该检查约束。 (这可能取决于数据库服务器,我使用的是MySQL和InnoDB表类型) 我相信这是一个合理的期望,但是如果我错了,请纠正我。


25
使用电子邮件地址作为主键?
与自动递增的数字相比,电子邮件地址是否是主要的候选地址? 我们的Web应用程序需要电子邮件地址在系统中唯一。因此,我想到了使用电子邮件地址作为主键。但是我的同事建议,字符串比较将比整数比较慢。 不使用电子邮件作为主键是正确的理由吗? 我们正在使用PostgreSQL。

24
快速计算非常大的表中确切行数的最快方法?
我遇到过的文章指出,SELECT COUNT(*) FROM TABLE_NAME当表中有很多行和很多列时,它会变慢。 我有一个表,可能包含数十亿行[它大约有15列]。有没有更好的方法来获取表的行数的精确计数? 在回答之前,请考虑以下几点: 我正在寻找与数据库供应商无关的解决方案。如果它涵盖MySQL,Oracle,MS SQL Server,则可以。但是,如果确实没有独立于数据库供应商的解决方案,那么我将为不同的数据库供应商寻求不同的解决方案。 我不能使用任何其他外部工具来执行此操作。我主要是在寻找基于SQL的解决方案。 我无法再对数据库设计进行规范化。它已经在3NF中,而且围绕它已经编写了很多代码。
234 sql  database 

5
SQL区分大小写的字符串比较
如何比较字符串,以便仅在每个字符串的大小写相等的情况下,比较才为真。例如: Select * from a_table where attribute = 'k' ...将返回具有'K'属性的行。我不要这种行为。
234 sql  sql-server 

23
在PostgreSQL中列出带有索引的列
我想获取PostgreSQL中索引所在的列。 在MySQL中,您可以使用SHOW INDEXES FOR table并查看该Column_name列。 mysql> show indexes from foos; +-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | +-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | foos | 0 | PRIMARY | 1 | id | A | …
233 sql  postgresql  indexing 


30
最常见的SQL反模式是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我们所有使用关系数据库的人都已经知道(或正在学习)SQL是不同的。选出想要的结果并有效地进行,涉及到一个乏味的过程,其部分特征是学习不熟悉的范例,并发现我们最熟悉的编程模式在这里不起作用。您见过(或自己犯过)的常见反模式是什么?
232 sql  anti-patterns 

12
在postgres中重置自动增量计数器
我想将表的自动递增字段强制为某个值,我尝试使用以下方法: ALTER TABLE product AUTO_INCREMENT = 1453 和 ALTER SEQUENCE product RESTART WITH 1453; ERROR: relation "your_sequence_name" does not exist 我是Postgres的新手:( 我有一个表product与Id和name领域


18
在SQL Server中查找重复的行
我有一个组织的SQL Server数据库,并且有很多重复的行。我想运行一条select语句以获取所有这些信息和重复的数量,而且还返回与每个组织相关联的ID。 如下语句: SELECT orgName, COUNT(*) AS dupes FROM organizations GROUP BY orgName HAVING (COUNT(*) > 1) 将返回类似 orgName | dupes ABC Corp | 7 Foo Federation | 5 Widget Company | 2 但我也想获取它们的ID。有什么办法吗?也许像 orgName | dupeCount | id ABC Corp | 1 | 34 ABC Corp | 2 | …

9
使用Dapper ORM从X WHERE ID IN(…)中选择*
当IN子句的值列表来自业务逻辑时,使用Dapper ORM用IN子句编写查询的最佳方法是什么?例如,假设我有一个查询: SELECT * FROM SomeTable WHERE id IN (commaSeparatedListOfIDs) 在commaSeparatedListOfIDs正在从业务逻辑传递,它可以是任何类型的IEnumerable(of Integer)。在这种情况下,我将如何构造查询?到目前为止,我是否必须做我基本上一直在做的事情,即基本上是字符串连接还是我不知道的某种高级参数映射技术?
231 .net  sql  dapper 

9
何时使用通用表表达式(CTE)
我已经开始阅读有关公用表表达式的内容,无法想到需要使用它们的用例。它们似乎是多余的,因为可以对派生表执行相同的操作。我有什么想念的东西吗?有人可以通过常规选择查询,派生查询或临时表查询来举例说明CTE的局限性吗?任何简单的例子将不胜感激。

6
MySQL,最好插入NULL或空字符串?
我在一个网站上有一个表格,其中包含很多不同的字段。一些字段是可选的,而某些字段是必填的。在我的数据库中,我有一个表,其中包含所有这些值,是否将NULL值或空字符串插入用户未放置任何数据的DB列是更好的做法?
230 mysql  sql  sql-null 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.