Tag: sql

Rails的方式来重置id字段上的种子

我发现这个问题的答案是“纯粹的SQL”。 有没有办法, 在Rails中 ,重置特定表的ID字段? 我为什么要这样做? 因为我的表格中有不断移动的数据 – 很less有超过100行,但总是不同的。 现在已经达到25K了,这里没有任何意义。 我打算使用Rails应用程序(rufus-scheduler)内部的调度程序来每月运行id字段重置。

使用另一个表中的数据更新mysql表

是否有可能使用子select在MySQL 5.0上运行UPDATE命令。 我想运行的命令是这样的: UPDATE book_details SET live = 1 WHERE ISBN13 = '(SELECT ISBN13 FROM book_details_old WHERE live = 1)'; 目前,ISBN13存储为一个string。 这应该是更新10K +行。 谢谢, 威廉

SQL注入今天有风险吗?

我一直在阅读关于SQL注入攻击以及如何避免这些攻击,虽然我似乎无法让工作中的“可怕”的例子,例如看到这篇文章 。 我在数据库中创build了一个PHP文件和一个表,并通过$_GET传递了一个值,并试图通过bob'); drop table students; –来删除表bob'); drop table students; — bob'); drop table students; — bob'); drop table students; –它没有工作。 PHP会自动转义\'和查询有错误,没有任何伤害。 尝试复制“ AND WHERE 1=1 ”等login“攻击”时出现同样的问题 示例代码: <?php $id = $_GET['id']; $sql = "INSERT INTO Users (Username) VALUES ($id)"; echo $sql; mysql_query($sql) or die(mysql_error()); 我会传递sql.php?id=1); delete from Users; — sql.php?id=1); delete from Users; — […]

在Sql Server中改变用户定义的types

我在DB中创build了几个用户定义的types,如下所示 CREATE TYPE [dbo].[StringID] FROM [nvarchar](20) NOT NULL 并分配到各种表格。 我在db中的表格是在不同的模式(不仅是dbo) 但我意识到我需要更大的领域,我需要改变,例如从nvarchar增加到nvarchar,但没有ALTER TYPE语句 我需要一个脚本临时表/光标任何和保存在那里我的types使用的所有表和字段。 然后将现有字段更改为基本types – 例如从CustID [StringID]到CustID [nvarchar(20)]。 删除用户types并用新types重新创build – 例如nvarchar(50),最后将字段设置为用户types 我没有关于types的规则定义,所以不必删除规则并重新添加它们 我不是很熟悉T-Sql,所以任何帮助表示赞赏。

用PythonparsingSQL

我想在非关系数据存储上创build一个SQL接口。 非关系数据存储,但以关系方式访问数据是有意义的。 我正在研究使用ANTLR生成一个代表SQL作为关系代数expression式的AST。 然后通过评估/行走树来返回数据。 我从来没有实现过一个parsing器,因此我想就如何最好地实现SQLparsing器和评估器提供一些build议。 上面描述的方法是否正确? 还有其他的工具/库我应该看看? 像PLY或Pyparsing一样 。 指向将帮助我的文章,书籍或源代码是赞赏。 更新: 我使用pyparsing实现了一个简单的SQLparsing器。 结合对我的数据存储实现关系操作的Python代码,这非常简单。 正如我在其中一个评论中所说的那样,这个练习的重点是使数据可用于报告引擎。 要做到这一点,我可能需要实现一个ODBC驱动程序。 这可能是很多工作。

INNER JOIN可以提供比EXISTS更好的性能

我一直在调查一系列程序的性能改进,最近有一位同事提到他在使用INNER JOIN代替EXISTS时取得了显着的性能提升。 作为调查的一部分,为什么这可能是我想我会问这里的问题。 所以: INNER JOIN可以提供比EXISTS更好的性能吗? 这会发生什么情况? 我怎样才能build立一个testing用例作为certificate? 你有进一步的文件有用的链接? 真的,任何其他的经验,人们可以带来这个问题。 如果有任何答案可以解决这个问题,而没有任何其他可能的性能改进的build议,我将不胜感激。 我们已经取得了一定程度的成功,而我只是对这个项目感兴趣。 任何帮助将非常感激。

SQL按所有列分组

有什么办法可以将一个表的所有列分组而不指定列名? 喜欢: select * from table group by *

IS和AS关键字的PL / SQL Oracle函数或程序创build

我一直在试图找出在创buildOracle函数或过程时,PL / SQL中的IS和AS关键字之间有什么区别。 我已经search,无法find任何有关这方面的信息。 有谁知道区别?

是SQL Server中必需的主键吗?

这可能是一个相当天真和愚蠢的问题,但我会问这个问题 我有一个表有几个领域,没有一个是唯一的,主键,显然是。 该表通过非唯一字段定期访问,但没有用户SP或通过主键处理访问数据。 主键是否必要呢? 它在幕后使用吗? 删除它会影响性能积极还是消极?

在存储过程中执行存储过程

我想在一个存储过程中执行一个存储过程,例如 EXEC SP1 BEGIN EXEC SP2 END 但是我只希望SP1在SP2完成运行后完成,所以我需要find一种方法让SP1在SP1结束之前等待SP2完成。 SP2正在作为SP1一部分执行,所以我有这样的东西: CREATE PROCEDURE SP1 AS BEGIN EXECUTE SP2 END