例如: SELECT TRIM(Names) FROM Customer;
我如何查询我的sql服务器只获取数据库的大小? 我用这个: use "MY_DB" exec sp_spaceused 我懂了 : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB 它返回我几列,我不需要,也许有一个技巧,从这个存储过程中selectdatabase_size列? 我也试过这个代码: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' 它给了我这个结果: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log D:\MSSQL\Data\MY_DB.ldf 7286 所以我写了这个: SELECT SUM(SizeMB) […]
我想在我的表中插入数据,但只插入不存在于我的数据库! 这里是我的代码: ALTER PROCEDURE [dbo].[EmailsRecebidosInsert] (@_DE nvarchar(50), @_ASSUNTO nvarchar(50), @_DATA nvarchar(30) ) AS BEGIN INSERT INTO EmailsRecebidos (De, Assunto, Data) VALUES (@_DE, @_ASSUNTO, @_DATA) WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos WHERE De = @_DE AND Assunto = @_ASSUNTO AND Data = @_DATA); END 而错误是: 消息156,级别15,状态1,过程EmailsRecebidosInsert,行11 关键字'WHERE'附近的语法不正确。
默认情况下似乎是大写,但真的有任何理由使用大写的关键字? 我开始使用大写,因为我只是试图匹配什么SQL Server给我什么时候我试图创build一些东西,如新的存储过程。 但是,我觉得我的宝宝(第五)手指总是需要按住Shift键,所以我停止使用大写字母。 任何我应该回到大写的原因? 编辑:谢谢你的答案。 在COBOL国王的时代,我还没有编程,所以我不知道这一点。 从现在开始,我会坚持小写。
一对多和多对一关系的真正区别是什么? 这只是颠倒过来的那种? 除此之外,我找不到任何有关此主题的“易于理解”的教程: 适用于初学者的SQL:第3部分 – 数据库关系
我对SQL(Server 2008)的底层知识有限,现在正在被我们的数据库pipe理员挑战。 让我解释一下(我提到了明显的陈述,希望我是对的,但如果你看错了,请告诉我)情景: 我们有一个表格,为人们提供“法庭命令”。 当我创build表(名称:CourtOrder)时,我创build了这样的表: CREATE TABLE dbo.CourtOrder ( CourtOrderID INT NOT NULL IDENTITY(1,1), (Primary Key) PersonId INT NOT NULL, + around 20 other fields of different types. ) 然后我将一个非聚集索引应用到主键(为了效率)。 我的原因是,它是一个独特的领域(主键),应该索引,主要用于select的目的,因为我们经常Select from table where primary key = … 然后,我在PersonId上应用了一个CLUSTERED索引。 原因是为了一个特定的人物理上的订单,因为绝大多数工作是获得一个人的订单。 所以, select from mytable where personId = … 我现在已经被拉上了。 我被告知我们应该把聚集索引放在主键上,并把personId上的正常索引。 这对我来说似乎很奇怪。 首先,为什么要在一个独特的列上放置一个聚集索引? 它是什么聚类? 当然,这是浪费聚集索引? 我相信一个正常的索引将被用在一个独特的列上。 […]
在MySQL中执行ALTER TABLE语句时,在整个语句期间整个表都被读取locking。 如果这是一张大桌子,这意味着插入或更新语句可能会被locking一段时间。 有没有办法做一个“热点改变”,如添加一个列的方式,表中仍然可以更新整个过程? 大多数情况下,我对MySQL的解决scheme感兴趣,但如果MySQL不能这样做,我会对其他RDBMS感兴趣。 为了澄清,我的目的只是为了避免需要额外的表列的新function推到生产时的停机时间。 任何数据库模式都会随着时间而改变,这只是一个事实。 我不明白为什么我们应该接受这些改变不可避免地会导致停机; 这只是弱。
在Oracle中,我可以用一条语句重新创build一个视图,如下所示: CREATE OR REPLACE VIEW MY_VIEW AS SELECT SOME_FIELD FROM SOME_TABLE WHERE SOME_CONDITIONS 正如语法所暗示的,这将会抛弃旧的视图,并用我给出的任何定义重新创build视图。 在SQL Server 2005中是否有相同的function呢?
在工作中,我们有一个具有唯一索引而不是主键的大型数据库,所有工作都很好。 我正在devise一个新项目的新数据库,我有一个困境: 在DB理论中,主键是基本元素,没关系,但在REAL项目中,两者的优缺点是什么? 你在项目中使用什么? 编辑: …和MS SQL服务器上的主键和复制呢?
有没有办法用Laravel的ELOQUENT ORM“限制”结果? SELECT * FROM `games` LIMIT 30 , 30 和雄辩?