Questions tagged «sql»

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

5
varchar(500)比varchar(8000)有优势吗?
我已经在MSDN论坛上对此进行了阅读,但我仍然不清楚。我认为这是正确的:Varchar(max)将存储为文本数据类型,因此存在缺点。因此,可以说您的字段可靠地在8000个字符以内。就像数据库表中的BusinessName字段一样。实际上,公司名称可能总是少于500个字符(将数字输入我的帽子)。在8k字符数以下,我遇到的许多varchar字段似乎都很好。 那么我应该将该字段设置为varchar(500)而不是varchar(8000)吗?从我对SQL的了解来看,两者之间没有区别。因此,为了使生活更轻松,我想将所有varchar字段都定义为varchar(8000)。那有什么缺点吗? 相关:varchar列的大小(我不觉得这个回答了我的问题)。
90 sql  sql-server  tsql 

11
MySQL查询以逗号分隔的字符串查找值
我的COLORS (varchar(50))表格SHIRTS中有一个字段,其中包含逗号分隔的字符串,例如1,2,5,12,15,。每个数字代表可用的颜色。 在运行查询select * from shirts where colors like '%1%'以获取所有红色衬衫(颜色= 1)时,我还获得了颜色为灰色(= 12)和橙色(= 15)的衬衫。 我应该如何重写查询,以便仅选择颜色1而不是选择所有包含数字1的颜色?
90 sql  mysql  database 

6
关系数据库和图数据库的比较
有人可以向我解释关系数据库(例如MySQL)与图形数据库(例如Neo4j)相比的优缺点吗? 在SQL中,您有多个具有各种ID的表链接它们。然后,您必须加入才能连接表。从新手的角度来看,您为什么要设计数据库以要求联接,而不是像图数据库那样从一开始就明确将连接作为边。从概念上讲,这对于新手来说毫无意义。大概有一个非常技术性但非概念性的原因吗?

7
“ dateAdded”的默认值无效
我遇到了一个无法解决的SQL愚蠢问题。 ALTER TABLE`新闻` ADD`dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT, 添加主键(`dateAdded`) 错误: (#1067)Invalid default value for 'dateAdded' 有人可以帮我吗?
90 mysql  sql 

5
不可延迟与立即可延迟
我DEFERRABLE在“ 数据库系统-完整书”中阅读了有关SQL关键字的内容。 后者的[NOT DEFERRABLE]是缺省值,表示每次执行数据库修改语句时,如果修改可能违反外键约束,则紧接着检查该约束。 但是,如果我们声明一个约束为DEFERRABLE,那么我们可以选择让它等到事务完成后再检查约束。 我们按照关键字DEFERRABLE通过两种INITIALLY DEFERRED或者INITIALLY IMMEDIATE。在前一种情况下,检查将推迟到每个事务提交之前进行。在后一种情况下,将在每个语句之后立即进行检查。 如何NOT DEFERRABLE不同DEFERRABLE INITIALLY IMMEDIATE?在这两种情况下,似乎在每个单独的语句之后都会检查任何约束。
90 sql  database 



7
向表中添加一列,其默认值等于现有列的值
如何在默认值等于现有列值的情况下向SQL Server表中添加列? 我尝试了以下T-SQL语句: ALTER TABLE tablename ADD newcolumn type NOT NULL DEFAULT (oldcolumn) 但它给出了一个错误: 在这种情况下,不允许使用名称“ oldcolumn”。有效表达式是常量,常量表达式和(在某些情况下)变量。不允许使用列名。

9
插入与插入
我已经在MS SQL中使用T-SQL已有一段时间了,无论何时我必须将数据插入表中时,我都倾向于使用语法: INSERT INTO myTable <something here> 我知道关键字INTO在这里是可选的,我不必使用它,但是在我的情况下它逐渐成为一种习惯。 我的问题是: 使用INSERT语法vs有什么含义INSERT INTO吗? 哪一个完全符合标准? 它们在SQL标准的其他实现中均有效吗?
90 sql  sql-server  tsql 

5
检查JObject中的空JToken是否为空
我有以下... JArray clients = (JArray)clientsParsed["objects"]; foreach (JObject item in clients.Children()) { // etc.. SQL params stuff... command.Parameters["@MyParameter"].Value = JTokenToSql(item["thisParameter"]); } JTokenToSql 看起来像这样... public static object JTokenToSql(JToken obj) { if (obj.Any()) return (object)obj; else return (object)DBNull.Value; } 我也尝试过((JObject)obj).Count。。但是似乎没有用。
90 c#  sql  json.net 

2
如何通过Sql查询在Sqlite中获取表的第一行/第一行
我需要在Sqlite数据库中获取表的第一行/第一行。 但是我的程序为我正在使用的查询引发了SQLException“ Sqlite语法错误:'1'附近的语法错误”: SELECT TOP 1 * FROM SAMPLE_TABLE 我猜想这是一种专门针对MS SQL SERVER和MS ACCESS的语法。现在我正在使用。 SELECT * FROM SAMPLE_TABLE LIMIT 1 解决此问题的最佳方法是什么?
90 sql  sqlite 


14
选择一无所有?
是否有可能这样的声明 SELECT "Hello world" WHERE 1 = 1 在SQL中? 我想知道的主要事情是,我可以从无中进行选择,即没有FROM子句。
90 sql 

6
在两个数据库之间添加外键关系
我在两个不同的数据库中有两个表。在table1中(在database1中)有一个称为column1的列,它是主键。现在在table2中(在database2中)有一个名为column2的列,我想将其添加为外键。 我尝试添加它,它给了我以下错误: 消息1763,级别16,状态0,第1行 不支持跨数据库外键引用。外键Database2.table2。 消息1750,级别16,状态0,第1行 无法创建约束。请参阅先前的错误。 由于表位于不同的数据库中,我该怎么办。


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.