标签: sql

Postgres DB Size命令

是否有任何命令可以在Postgres中找到所有数据库大小?

我可以使用以下命令找到特定数据库的大小:

select pg_database_size('databaseName');
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.2

294
推荐指数
9
解决办法
20万
查看次数

在SQL数据库中存储纬度和经度数据时要使用的数据类型是什么?

在ANSI SQL兼容数据库中存储纬度或经度数据时,哪种数据类型最合适?应该float使用,或decimal,或......?

我知道Oracle,MySql和SQL Server已经添加了一些专门用于处理地理数据的特殊数据类型,但我对如何将信息存储在"普通的"SQL数据库中感兴趣.

sql database geocoding latitude-longitude

293
推荐指数
2
解决办法
21万
查看次数

如何插入包含撇号(单引号)的值?

在其中插入带撇号的值的正确SQL语法是什么?

Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'
Run Code Online (Sandbox Code Playgroud)

我一直收到错误,因为我认为O之后的撇号是值的结束标记.

sql sql-update sql-insert

293
推荐指数
7
解决办法
64万
查看次数

GROUP BY和DISTINCT之间有什么区别吗?

前几天我学到了一些关于SQL的简单知识:

SELECT c FROM myTbl GROUP BY C
Run Code Online (Sandbox Code Playgroud)

结果与:

SELECT DISTINCT C FROM myTbl
Run Code Online (Sandbox Code Playgroud)

我很好奇,SQL引擎处理命令的方式有什么不同,还是它们真的是同一个东西?

我个人更喜欢不同的语法,但我相信它更多地出于习惯而不是其他任何东西.

编辑:这不是关于聚合的问题.的使用GROUP BY与聚合函数了解.

sql group-by distinct

291
推荐指数
13
解决办法
21万
查看次数

动态SELECT TOP @var在SQL Server中

如何设置动态变量来设置SQL Server中要返回的行数?以下是SQL Server 2005+中无效的语法:

DECLARE @count int
SET @count = 20

SELECT TOP @count * FROM SomeTable
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2005

291
推荐指数
5
解决办法
12万
查看次数

如何在另一个表中选择没有匹配条目的行?

我正在对数据库应用程序进行一些维护工作,并且我发现,欢乐的乐趣,即使来自一个表的值正在使用外键的样式,表上没有外键约束.

我正在尝试在这些列上添加FK约束,但我发现,因为表中的错误数据已经完全加载了以前的错误,这些错误已经被天真地纠正过,我需要找到没有的行.匹配其他表,然后删除它们.

我在网上找到了一些这种查询的例子,但它们似乎都提供了例子而不是解释,我不明白为什么它们起作用.

有人可以向我解释如何构建一个查询,该查询返回在另一个表中没有匹配的所有行,以及它正在做什么,以便我可以自己进行这些查询,而不是为这个混乱中的每个表运行到SO 没有FK约束?

sql foreign-keys

291
推荐指数
5
解决办法
36万
查看次数

SQL - 从一个表中查找另一个表中不存在的记录

我有以下两个SQL表(在MySQL中):

Phone_book
+----+------+--------------+
| id | name | phone_number |
+----+------+--------------+
| 1  | John | 111111111111 |
+----+------+--------------+
| 2  | Jane | 222222222222 |
+----+------+--------------+

Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 1  | 0945 | 111111111111 |
+----+------+--------------+
| 2  | 0950 | 222222222222 |
+----+------+--------------+
| 3  | 1045 | 333333333333 |
+----+------+--------------+
Run Code Online (Sandbox Code Playgroud)

如何找出调用由人,他们作了phone_number不在Phone_book?期望的输出是:

Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 3  | 1045 …
Run Code Online (Sandbox Code Playgroud)

mysql sql

288
推荐指数
5
解决办法
37万
查看次数

外键可以为NULL和/或重复吗?

请为我澄清两件事:

  1. 外键可以为NULL吗?
  2. 外键可以重复吗?

据我所知,NULL不应该在外键中使用,但在我的某些应用程序中,我能够NULL在Oracle和SQL Server中输入,我不知道为什么.

sql sql-server oracle foreign-keys

287
推荐指数
5
解决办法
35万
查看次数

MySQL无法添加外键约束

所以我试图将外键约束添加到我的数据库作为项目需求,它在不同的表上第一次或第二次工作,但我有两个表,在尝试添加外键约束时我得到一个错误.我得到的错误消息是:

ERROR 1215(HY000):无法添加外键约束

这是我用来创建表的SQL,两个有问题的表是PatientAppointment.

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=1;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `doctorsoffice` DEFAULT CHARACTER SET utf8 ;
USE `doctorsoffice` ;

-- -----------------------------------------------------
-- Table `doctorsoffice`.`doctor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `doctorsoffice`.`doctor` ;

CREATE  TABLE IF NOT EXISTS `doctorsoffice`.`doctor` (
  `DoctorID` INT(11) NOT NULL AUTO_INCREMENT ,
  `FName` VARCHAR(20) NULL DEFAULT NULL ,
  `LName` VARCHAR(20) NULL DEFAULT NULL ,
  `Gender` VARCHAR(1) NULL DEFAULT NULL ,
  `Specialty` VARCHAR(40) NOT NULL DEFAULT …
Run Code Online (Sandbox Code Playgroud)

mysql sql foreign-keys

286
推荐指数
7
解决办法
42万
查看次数

如何在SQL中选择一个月的第一天?

我只需要选择给定日期时间变量的月份的第一天.

我知道使用这种代码很容易:

select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) 
+ '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)
Run Code Online (Sandbox Code Playgroud)

但这不是很优雅,也可能不是很快.

有一个更好的方法吗?我正在使用SQL Server 2008.

sql t-sql sql-server datetime sql-server-2008

285
推荐指数
10
解决办法
71万
查看次数