AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1580

David LeBauer's questions

Martin Hope
David LeBauer
Asked: 2017-05-19 11:31:42 +0800 CST

在每个表 psql 中选择'id'

  • 1

我的数据库中的每个表(请参阅架构)都有一个名为id.

我想在所有表中找到 id 在 [1,1000] 范围内的所有记录。我该如何编写这样的查询?

我尝试按照PostgreSQL 文档编写一个 for 循环

FOR T IN (
  SELECT TABLE_NAME FROM information_schema. TABLES
  WHERE table_schema = 'public'
    )
LOOP
    SELECT id, T FROM T WHERE ID BETWEEN 1 AND 1000;
  RETURN NEXT T;
END LOOP ;

但得到“FOR 的语法错误”。

postgresql
  • 1 个回答
  • 646 Views
Martin Hope
David LeBauer
Asked: 2014-04-30 12:41:33 +0800 CST

缺失数据的 NULL 替代方法 [重复]

  • 2
这个问题在这里已经有了答案:
为什么我们不能允许 NULL? (8 个答案)
8 年前关闭。

我正在使用 PostgreSQL 并尝试编写值约束。

是否可以在不使用任意数值的情况下将缺失数据记录为与数值字段中的 NULL 值不同?

对于很多字段,我想确保记录要么是数字,要么记录为缺失,但不是 NULL。

一个常见的解决方案是使用 -9999 来表示缺失值。然而,这可能会导致无声错误(例如计算平均值)。是否有比创建允许“Missing”值或数字的新类型更好的解决方案?

postgresql constraint
  • 1 个回答
  • 1334 Views
Martin Hope
David LeBauer
Asked: 2012-09-20 09:40:23 +0800 CST

打印带有注释的表格文档?

  • 3

我有一个 MySQL 数据库,我使用 MySQL Workbench 将文本插入到许多列和表的“注释”字段中;计划是将文档存储在数据库中。

但是,我不知道如何 a) 向列添加评论,或者更重要的是 b) 检索此信息。

我浏览了关于Describe、Show Columns和Show Extensions的有限 MySQL 文档。

例如,我想返回这个:

mysql> describe dogs;

+----------------+-------------------------------+
| Field          | Comment                       | 
+----------------+-------------------------------+
| id             | primary key                   | 
| Name           | Dog's name                    | 
| species_id     | Foreign key to look up species| 

代替

mysql> describe dogs;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| id             | int(11)      | NO   | PRI | NULL    | auto_increment | 
| name           | varchar (255)| YES  | MUL | NULL    |                | 
| species_id     | int(11)      | YES  | MUL | NULL    |                |

虽然这样做:

mysql> describe dogs;

mysql> describe dogs;
+----------------+--------------+------+-----+---------+----------------+-------------------------------+
| Field          | Type         | Null | Key | Default | Extra          | Comment                       | 
+----------------+--------------+------+-----+---------+----------------+-------------------------------+
| id             | int(11)      | NO   | PRI | NULL    | auto_increment |                               |
| name           | varchar (255)| YES  | MUL | NULL    |                | Dog's name                    |  
| species_id     | int(11)      | YES  | MUL | NULL    |                | Foreign key to look up species|

我有哪些选择?MySQL 工作台是否导出此类文档?

mysql mysql-workbench
  • 1 个回答
  • 6203 Views
Martin Hope
David LeBauer
Asked: 2012-04-12 10:30:18 +0800 CST

什么时候在 MySQL 中使用视图?

  • 66

从多个连接创建用于分析的表时,何时更倾向于使用视图而不是创建新表?

我更喜欢使用视图的一个原因是数据库模式是由我们的管理员在 Ruby 中开发的,而我对 Ruby 并不熟悉。我可以请求创建表,但需要一个额外的步骤,并且我希望在开发/测试新联接时具有更大的灵活性。

我在回答有关 SO(何时使用 R,何时使用 SQL)的相关问题后开始使用视图。票数最高的答案开始于“在 SQL 中进行数据操作,直到数据位于单个表中,然后在 R 中完成其余部分。”

我已经开始使用视图,但我遇到了一些视图问题:

  1. 查询要慢得多
  2. 视图不会从生产数据库转储到我用于分析的备份数据库。

视图是否适合这种用途?如果是这样,我应该期待性能损失吗?有没有办法加快对视图的查询?

mysql optimization
  • 3 个回答
  • 90433 Views
Martin Hope
David LeBauer
Asked: 2012-03-28 14:20:22 +0800 CST

用一条语句更新表中的许多行?

  • 9

更新表中多行的最简单方法是什么?我有一个如下所示的 csv 文件:

|primary_key |value|
|          1 |  xyz|
|          2 |  abc|
|          3 |  def|
...

目标表中已存在具有这些主键的行

我想用这些值更新目标表。是否有语法,以便我可以编写如下内容:

update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3);

通过MySQL 更新参考,这个站点(MySQL-csv 更新),SO(更新多行,多个数据库更新,更新多行),我怀疑答案是“否”,但我想确认一下是真的。

mysql update
  • 2 个回答
  • 31804 Views
Martin Hope
David LeBauer
Asked: 2012-03-10 08:48:36 +0800 CST

mysql可以从大型mysqldump中恢复单个表吗?

  • 6

从大型(约 5GB)数据库 mysqldump 文件恢复单个表的最佳方法是什么?


更新: 我找到了使用命令行工具解析表的解决方案(发布在下面),但是有没有办法用 mysqlimport 做到这一点?

mysql mysqldump
  • 3 个回答
  • 22981 Views
Martin Hope
David LeBauer
Asked: 2011-11-12 08:48:25 +0800 CST

写一个慢查询来测试慢查询日志?

  • 20

是否有一个需要 2 秒以上的简单查询,以便我可以测试慢查询记录器?

我正在寻找类似通用递归或迭代语句的东西。

mysql performance
  • 2 个回答
  • 15853 Views
Martin Hope
David LeBauer
Asked: 2011-10-25 06:48:52 +0800 CST

查找分层字段的最高级别:有 vs 没有 CTE

  • 64

注意:这个问题已经更新,以反映我们目前正在使用 MySQL,这样做后,我想看看如果我们切换到支持 CTE 的数据库会容易得多。

我有一个带有主键id和外键的自引用表parent_id。

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment | 
| parent_id  | int(11)      | YES  |     | NULL    |                | 
| name       | varchar(255) | YES  |     | NULL    |                | 
| notes      | text         | YES  |     | NULL    |                | 
+------------+--------------+------+-----+---------+----------------+

给定 a name,我如何查询顶级父级?

给定 a name,我如何查询所有id与 的记录相关联的 's name = 'foo'?

背景:我不是 dba,但我打算请 dba 实现这种类型的层次结构,并想测试一些查询。Kattge et al 2011描述了这样做的动机。


以下是表中 id 之间关系的示例:

在此处输入图像描述

-- -----------------------------------------------------
-- Create a new database called 'testdb'
-- -----------------------------------------------------
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `testdb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `testdb` ;

-- -----------------------------------------------------
-- Table `testdb`.`observations`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `testdb`.`observations` (
  `id` INT NOT NULL ,
  `parent_id` INT NULL ,
  `name` VARCHAR(45) NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

-- -----------------------------------------------------
-- Add Example Data Set
-- -----------------------------------------------------


INSERT INTO observations VALUES (1,3), (2,5), (3,NULL), (4,10), 
   (5,NULL), (6,1), (7,5), (8,10), (9,10), (10,3);
mysql hierarchy
  • 3 个回答
  • 78980 Views
Martin Hope
David LeBauer
Asked: 2011-10-22 13:47:48 +0800 CST

在 MySQL 中处理 1000 AD 之前日期的最佳方法?

  • 9

我正在为公元 1000 年之前的记录创建数据库,但 MySQL 日期和日期时间字段仅支持从 1000 年开始的日期。

有没有比使用 Unix 时间戳使用 bigint 类型来计算 1/1/1970 之前/之后的秒数或切换到支持更大日期范围的数据库软件更方便的方法?

mysql database-design
  • 3 个回答
  • 4802 Views
Martin Hope
David LeBauer
Asked: 2011-05-20 05:42:42 +0800 CST

为什么我的 .my.cnf 设置不起作用?

  • 15

我的桌面上的主目录中有一个 .my.cnf 文件,其中包括:

[dbid]
user = myusername
password = mypassword
database = dbname
host = server.location.com

如果我没记错的话,在从 Ubuntu 10.04 升级到 11.04 之前,我能够使用该命令

mysql dbid

直接连接到数据库

但是今天我收到了这个错误:

ERROR 1049 (42000): Unknown database 'dbname'

我做错了什么吗?

mysql configuration
  • 3 个回答
  • 10237 Views
Martin Hope
David LeBauer
Asked: 2011-05-12 11:28:31 +0800 CST

我可以自动执行 MySQL 查询中的“on”语句吗?

  • 2

背景

在 QA/QC 过程中,我正在编写大量具有多个连接的查询。我正在使用 MySQL。

我想知道如何(如果)我可以简化连接语句,例如通过设置要连接的默认字段。

我的表以它们包含的对象的复数形式命名:

 names
 types
 actions
 surnames
 names_surnames

names_surnames多对多查找表在哪里

主键总是id,外键总是,例如

 names.type_id
 names.action_id
 names_surnames.name_id
 names_surnames.surname_id

我的加入会是这样的

select names.col1 
from names join types on names.type_id = type.id
           join actions on names.action_id = actions.id;

问题

有没有办法让 MySQL 始终假定表将与 连接on thistables.thattable_id = thattable.id?

mysql join
  • 3 个回答
  • 145 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve