Questions tagged «sql»

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

10
一次性修复所有表
如何一次性检查数据库中的所有表? 而不是check table ''tablename'';一个一个地为所有表键入查询。 有没有像这样的简单命令check all?
111 mysql  sql 


15
使用C#将DateTime格式转换为SQL格式
我正在尝试从C#中保存当前日期时间格式,并将其转换为SQL Server日期格式,yyyy-MM-dd HH:mm:ss这样我就可以将其用于UPDATE查询。 这是我的第一个代码: DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss"); 日期的输出正常,但时间始终为“ 12:00:00”,因此我将代码更改为以下内容: string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss"); 它给了我这个编译错误: 未处理FormatException 并建议我需要解析。因此,根据我在StackOverflow中的研究,我尝试对代码执行此操作: string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss"); 要么 string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss"); 但这告诉我这是一种对给定上下文无效的方法。我试图寻找解决问题的方法,但现在已经被困了两个小时。我对C#还是有点陌生​​,可以帮我吗?
111 c#  sql  datetime 

4
如何用标识列创建表
我有一个将要删除的现有表,因为我没有使用将ID列设置为表的Identity列来创建该表。 使用SQL Server Management Studio,我编写了现有表的“创建至...”脚本,并得到了以下信息: CREATE TABLE [dbo].[History]( [ID] [int] NOT NULL, [RequestID] [int] NOT NULL, [EmployeeID] [varchar](50) NOT NULL, [DateStamp] [datetime] NOT NULL, CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] …
111 sql  sql-server  tsql 

5
执行插入命令并在Sql中返回插入的ID
我正在MVC 4中使用C#将一些值插入SQL表中。实际上,我想插入值并返回最后插入的记录的“ ID”。我使用以下代码。 public class MemberBasicData { public int Id { get; set; } public string Mem_NA { get; set; } public string Mem_Occ { get; set; } } 插入后,ID在数据库中自动增加。 public int CreateNewMember(string Mem_NA, string Mem_Occ ) { using (SqlConnection con=new SqlConnection(Config.ConnectionString)) { using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con)) { …


2
Postgres:如何制作复合键?
我无法理解创建复合键时的语法错误。这可能是一个逻辑错误,因为我已经测试了很多品种。 如何在Postgres中创建复合键? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^

22
有没有比在开始时使用1 = 1更好的动态构建SQL WHERE子句的方法?
我正在C#中建立一些SQL查询。根据某些作为变量存储在代码中的条件,它会有所不同。 string Query="SELECT * FROM Table1 WHERE 1=1 "; if (condition1) Query += "AND Col1=0 "; if (condition2) Query += "AND Col2=1 "; if (condition3) Query += "AND Col3=2 "; 它可以工作,但是测试1 = 1似乎并不优雅。如果不使用它,则每次都必须记住并检查是否已在查询中添加“ where”关键字。 有更好的解决方案吗?
110 c#  sql 

6
MySQL:事务与锁定表
我对事务与锁定表有些困惑,以确保数据库完整性,并确保SELECT和UPDATE保持同步,并且没有其他连接干扰它。我需要: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } 我需要确保没有其他查询会干扰并执行相同的操作SELECT(在该连接完成更新行之前读取“旧值”。 我知道我可以默认为LOCK TABLES table仅一次确保只有1个连接正在执行此操作,并在完成后将其解锁,但这似乎有点过头了。将事务包装在事务中是否会做同样的事情(确保没有其他连接会尝试同一进程而另一个仍在处理)?或将一个SELECT ... FOR UPDATE或SELECT ... LOCK IN SHARE MODE更好?

9
SQL SELECT Speed Int与varchar
我正在创建表格,这让我感到奇怪。 如果我存储有品牌的汽车(例如宝马,奥迪等),如果将品牌存储为int或varchar会对查询速度产生任何影响。 也是 SELECT * FROM table WHERE make = 5 AND ...; 快/慢于 SELECT * FROM table WHERE make = 'audi' AND ...; 还是速度会大致相同?

9
为什么要遍历大型Django QuerySet消耗大量内存?
该表包含大约一千万行。 for event in Event.objects.all(): print event 这会导致内存使用量稳定增加到4 GB左右,这时行将快速打印。第一行打印之前漫长的延迟让我感到惊讶–我希望它几乎可以立即打印。 我也尝试过Event.objects.iterator()以相同的方式表现。 我不明白Django正在将什么加载到内存中或为什么这样做。我希望Django在数据库级别遍历结果,这意味着结果将以大致恒定的速率打印(而不是经过漫长的等待一次全部打印)。 我误会了什么? (我不知道它是否相关,但是我正在使用PostgreSQL。)


22
使用MySQL生成随机且唯一的8个字符串
我正在开发一款涉及车辆的游戏。我有一个名为“ vehicles”的MySQL表,其中包含有关车辆的数据,包括存储车辆牌照的“ plate”列。 现在是我遇到问题的部分。在创建新车辆之前,我需要找到一个未使用的车牌-它应该是字母数字8字符的随机字符串。我是通过使用Lua(我正在使用的语言)中的while循环生成字符串并查询数据库以查看是否使用它的,从而实现了这一点。但是,随着车辆数量的增加,我希望这会变得目前效率更低。因此,我决定尝试使用MySQL查询解决此问题。 我需要的查询应该只生成表中还没有的8个字符的字母数字字符串。我再次想到了generate&check循环方法,但是我并没有将这个问题限制为以防万一,这是一个更有效的方法。我已经能够通过定义一个包含所有允许的字符的字符串并随机子字符串化来生成字符串,仅此而已。 任何帮助表示赞赏。
110 mysql  sql 

8
如何从错误消息中获取实际的存储过程行号?
当我使用SQL Server时出现错误,错误消息给出的行号与存储过程中的行号没有关联。我认为差异是由于空白和注释引起的,是真的吗? 如何将这两组线号相互关联?如果有人能够至少向我提供正确方向的指点,我将非常感激。 我正在使用SQL Server 2005。

9
在SQL中转置列和行的简单方法?
如何在SQL中简单地切换带有行的列?有没有简单的命令要转置? 即把这个结果: Paul | John | Tim | Eric Red 1 5 1 3 Green 8 4 3 5 Blue 2 2 9 1 到这个: Red | Green | Blue Paul 1 8 2 John 5 4 2 Tim 1 3 9 Eric 3 5 1 PIVOT 在这种情况下似乎太复杂了。
110 sql  sql-server  tsql  pivot 

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.