AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-1580

David LeBauer's questions

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

selecione 'id' em cada tabela psql

  • 1

Cada tabela em meu banco de dados ( ver esquema ) tem uma chave primária chamada id.

Gostaria de encontrar todos os registros em todas as tabelas em que id está no intervalo [1.1000]. Como posso escrever uma consulta dessas?

Eu tentei escrever um loop for seguindo os documentos do PostgreSQL

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 ;

mas obtém "Erro de sintaxe em FOR".

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

Alternativas para NULL para dados ausentes [duplicado]

  • 2
Esta pergunta já tem respostas aqui :
Por que não devemos permitir NULLs? (8 respostas)
Fechado há 8 anos .

Estou usando o PostgreSQL e tentando escrever restrições de valor.

É possível registrar dados ausentes como distintos de valores NULL em um campo numérico sem usar um valor numérico arbitrário?

Para muitos campos, quero garantir que o registro seja numérico ou registrado como ausente, mas não NULL.

Uma solução comum é usar -9999 para indicar um valor ausente. No entanto, isso pode levar a erros silenciosos (por exemplo, calcular uma média). Existe uma solução melhor do que criar um novo tipo que permita um valor de "Missing" ou um número?

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

Imprimir documentação da tabela com comentários?

  • 3

Eu tenho um banco de dados MySQL e usei o MySQL Workbench para inserir texto nos campos de "comentário" de muitas das colunas e tabelas; o plano era ter a documentação armazenada no banco de dados.

No entanto, não sei como a) adicionar um comentário a uma coluna ou, mais importante, b) recuperar essas informações.

Examinei a documentação limitada do MySQL em Descrever , Mostrar colunas e Mostrar extensões .

Por exemplo, eu gostaria de retornar isso:

mysql> describe dogs;

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

Ao invés de

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    |                |

Embora isso faria:

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|

Quais são minhas opções? O MySQL workbench exporta essa documentação?

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

Quando usar visualizações no MySQL?

  • 66

Ao criar tabelas de várias junções para uso em análise, quando é preferível usar visualizações em vez de criar uma nova tabela?

Uma razão pela qual eu preferiria usar visualizações é que o esquema do banco de dados foi desenvolvido por nosso administrador de dentro do Ruby, e eu não estou familiarizado com o Ruby. Posso solicitar a criação de tabelas, mas requer uma etapa adicional e gostaria de mais flexibilidade ao desenvolver/testar novas junções.

Comecei a usar visualizações seguindo a resposta a uma pergunta relacionada no SO ( Quando usar R, quando usar SQL ). A resposta mais votada começa "faça as manipulações de dados em SQL até que os dados estejam em uma única tabela e, em seguida, faça o resto em R".

Comecei a usar visualizações, mas encontrei alguns problemas com visualizações:

  1. as consultas são muito mais lentas
  2. As visualizações não são despejadas da produção para o banco de dados de backup que uso para análise.

As visualizações são apropriadas para esse uso? Em caso afirmativo, devo esperar uma penalidade de desempenho? Existe uma maneira de acelerar as consultas nas visualizações?

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

Atualizar muitas linhas em uma tabela com uma única instrução?

  • 9

Qual é a maneira mais fácil de atualizar muitas linhas em uma tabela? Eu tenho um arquivo csv que se parece com isso:

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

As linhas com essas chaves primárias já existem na tabela de destino

Gostaria de atualizar a tabela de destino com esses valores. Existe sintaxe para que eu possa escrever algo como:

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

Olhando através do MySQL Update Reference , este site ( MySQL - csv update ), SO ( update multiple rows , multiple db updates , update multiple rows ), suspeito que a resposta seja "não", mas gostaria de confirmar que isso é verdade.

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

O mysql pode restaurar uma única tabela de um grande mysqldump?

  • 6

Qual é a melhor maneira de restaurar uma única tabela de um arquivo mysqldump de banco de dados grande (~ 5 GB)?


atualização: encontrei soluções (postadas abaixo) usando ferramentas de linha de comando para analisar a tabela, mas existe uma maneira de fazer isso com mysqlimport?

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

Escrever uma consulta lenta para testar o log de consulta lenta?

  • 20

Existe uma consulta simples que levaria > 2 segundos para que eu possa testar o registrador de consulta lenta?

Estou procurando algo como uma instrução recursiva ou iterativa genérica.

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

Encontre o nível mais alto de um campo hierárquico: com vs sem CTEs

  • 64

nota: esta pergunta foi atualizada para refletir que estamos usando MySQL atualmente, tendo feito isso, gostaria de ver como seria muito mais fácil se mudássemos para um banco de dados compatível com CTE.

Eu tenho uma tabela de auto-referência com uma chave primária ide uma chave estrangeira 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    |                | 
+------------+--------------+------+-----+---------+----------------+

Dado um name, como posso consultar o pai de nível superior?

Dado um name, como posso consultar todos os idassociados a um registro de name = 'foo'?

context: Não sou dba, mas estou planejando pedir a um dba para implementar esse tipo de estrutura hierárquica e gostaria de testar algumas consultas. A motivação para isso é descrita por Kattge et al 2011 .


Aqui está um exemplo das relações entre os ids na tabela:

insira a descrição da imagem aqui

-- -----------------------------------------------------
-- 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 respostas
  • 78980 Views
Martin Hope
David LeBauer
Asked: 2011-10-22 13:47:48 +0800 CST

Melhor maneira de lidar com datas anteriores a 1000 AD no MySQL?

  • 9

Estou criando um banco de dados para registros que se estendem antes de 1000 AD, mas os campos MySQL Date e DateTime suportam apenas datas a partir de 1000.

Existe uma maneira que seria mais conveniente do que usar um tipo bigint para contar segundos antes/depois de 1/1/1970 usando um timestamp Unix ou mudar para um software de banco de dados que suporte intervalos de datas maiores?

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

Por que minhas configurações de .my.cnf não funcionam?

  • 15

Eu tenho um arquivo .my.cnf em meu diretório inicial em minha área de trabalho que inclui:

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

Se bem me lembro, antes de atualizar do Ubuntu 10.04 para 11.04, consegui usar o comando

mysql dbid

Para se conectar diretamente ao banco de dados

Mas hoje recebo este erro:

ERROR 1049 (42000): Unknown database 'dbname'

Fiz algo errado?

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

Posso automatizar a instrução "on" das consultas MySQL?

  • 2

Fundo

No processo de QA/QC, estou escrevendo muitas consultas com várias junções. Estou usando MySQL.

Gostaria de saber como (se) posso simplificar as instruções de junção, por exemplo, definindo campos padrão para junção.

Minhas tabelas são nomeadas com uma forma plural do objeto que elas contêm:

 names
 types
 actions
 surnames
 names_surnames

onde names_surnamesestá uma tabela de pesquisa muitos-muitos

as chaves primárias são sempre ide as chaves estrangeiras são sempre, por exemplo

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

Minhas junções seriam algo como

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

Pergunta

Existe uma maneira de fazer com que o MySQL sempre assuma que as tabelas serão unidas on thistables.thattable_id = thattable.id?

mysql join
  • 3 respostas
  • 145 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve