标签: sql

如何在MySQL中"插入,如果不存在"?

我开始使用谷歌搜索,发现这篇文章讨论了互斥表.

我有一张约有1400万条记录的表格.如果我想以相同的格式添加更多数据,有没有办法确保我想要插入的记录不存在而不使用一对查询(即,一个查询要检查,一个要插入是结果集是空)?

unique对某个字段的约束是否保证insert如果它已经存在则会失败?

似乎只有一个约束,当我通过php发出插入时,脚本呱呱叫.

php mysql sql performance primary-key

781
推荐指数
9
解决办法
66万
查看次数

我应该使用!=或<>在T-SQL中不相等吗?

我已经看到了SQL同时使用!=,并<>不相等.什么是首选语法,为什么?

我喜欢!=,因为<>让我想起Visual Basic.

sql t-sql sql-server

780
推荐指数
11
解决办法
102万
查看次数

加入与子查询

我是一个老派的MySQL用户,并且总是优先JOIN于子查询.但是现在每个人都使用子查询,我讨厌它; 我不知道为什么.

如果存在任何差异,我缺乏理论知识来判断自己.子查询是否与a一样好JOIN,因此没有什么可担心的?

mysql sql join subquery

780
推荐指数
14
解决办法
40万
查看次数

在SQL Server中搜索存储过程中的文本

我想从我的所有数据库存储过程中搜索文本.我使用下面的SQL:

SELECT DISTINCT
       o.name AS Object_Name,
       o.type_desc
  FROM sys.sql_modules m
       INNER JOIN
       sys.objects o
         ON m.object_id = o.object_id
 WHERE m.definition Like '%[ABD]%';
Run Code Online (Sandbox Code Playgroud)

我想[ABD]在所有存储过程中搜索包括方括号,但它没有给出正确的结果.如何更改查询以实现此目的?

sql sql-server stored-procedures

750
推荐指数
15
解决办法
128万
查看次数

如何通过SQL中的另一列选择MAX(列值),DISTINCT的行?

我的表是:

id  home  datetime     player   resource
---|-----|------------|--------|---------
1  | 10  | 04/03/2009 | john   | 399 
2  | 11  | 04/03/2009 | juliet | 244
5  | 12  | 04/03/2009 | borat  | 555
3  | 10  | 03/03/2009 | john   | 300
4  | 11  | 03/03/2009 | juliet | 200
6  | 12  | 03/03/2009 | borat  | 500
7  | 13  | 24/12/2008 | borat  | 600
8  | 13  | 01/01/2009 | borat  | 700
Run Code Online (Sandbox Code Playgroud)

我需要选择每个不同的 …

mysql sql max distinct greatest-n-per-group

727
推荐指数
13
解决办法
142万
查看次数

DateTime2与SQL Server中的DateTime

哪一个:

是在SQL Server 2008+中存储日期和时间推荐方法吗?

我知道精度(和存储空间可能)的差异,但暂时忽略这些,是否有关于何时使用什么的最佳实践文档,或者我们应该只使用它datetime2

sql t-sql sql-server datetime datetime2

726
推荐指数
11
解决办法
47万
查看次数

SQL Server:如何加入第一行

我将使用一个具体的,但假设的例子.

每个订单通常只有一个订单项:

命令:

OrderGUID   OrderNumber
=========   ============
{FFB2...}   STL-7442-1      
{3EC6...}   MPT-9931-8A
Run Code Online (Sandbox Code Playgroud)

了LineItem:

LineItemGUID   Order ID Quantity   Description
============   ======== ========   =================================
{098FBE3...}   1        7          prefabulated amulite
{1609B09...}   2        32         spurving bearing
Run Code Online (Sandbox Code Playgroud)

但偶尔会有一个包含两个订单项的订单:

LineItemID   Order ID    Quantity   Description
==========   ========    ========   =================================
{A58A1...}   6,784,329   5          pentametric fan
{0E9BC...}   6,784,329   5          differential girdlespring 
Run Code Online (Sandbox Code Playgroud)

通常在向用户显示订单时:

SELECT Orders.OrderNumber, LineItems.Quantity, LineItems.Description
FROM Orders
    INNER JOIN LineItems 
    ON Orders.OrderID = LineItems.OrderID
Run Code Online (Sandbox Code Playgroud)

我想在订单上显示单个项目.但是,由于此偶尔包含两个(或更多)商品的订单,订单将显示重复:

OrderNumber   Quantity   Description
===========   ========   ==================== …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2000

718
推荐指数
9
解决办法
52万
查看次数

Count(*)vs Count(1) - SQL Server

只是想知道你们中的任何一个人是否Count(1)过度使用过Count(*),如果性能有显着差异,或者这只是从过去几天带来的遗留习惯?

(具体数据库是SQL Server 2005.)

sql sql-server performance

699
推荐指数
11
解决办法
36万
查看次数

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

我需要删除SQL Server数据库中高度引用的表.如何获取我需要删除的所有外键约束的列表以便删除表?

(在管理工作室的GUI中,SQL答案比点击更好.)

sql t-sql sql-server

692
推荐指数
18
解决办法
58万
查看次数

SQL使用SELECT*[除了columnA] FROM tableA排除列?

我们都知道要从表中选择所有列,我们都可以使用

SELECT * FROM tableA
Run Code Online (Sandbox Code Playgroud)

有没有办法在不指定所有列的情况下从表中排除列?

SELECT * [except columnA] FROM tableA
Run Code Online (Sandbox Code Playgroud)

我知道的唯一方法是手动指定所有列并排除不需要的列.这非常耗时,所以我正在寻找节省时间和精力的方法,以及如果表有更多/更少的列,将来的维护.

谢谢!

sql t-sql sql-server

671
推荐指数
21
解决办法
72万
查看次数