Como fazer backup no MySQL por linha de comando?

Fazer backup no MySQL por linha de comando usando o mysqldump é mais fácil que muitos administradores imaginam.

O comando básico para backup é:
mysqldump -h HOST-u LOGIN -pSENHA NOME_DO_BANCO > ARQUIVO_DE_SAIDA.sql

Importante notar que a senha deve ser escrita junto com -p, conforme exemplo abaixo:
mysqldump -h localhost -u usuario -psenha clientes > clientes.sql

Para fazer a compactação em ambiente linux, é possível com o utilitário gzip por exemplo. Ficaria assim:

mysqldump -h localhost -u usuario -psenha clientes > clientes.sql | gzip clientes.sql

Será gerado o arquivo clientes.sql.gz.

Como substituir (REPLACE) um texto no MySQL?

Para substituir texto pelo MySQL é relativamente simples. É necessário utilizar a função nativa do próprio MySQL chamada REPLACE.

Os parâmetros para essa função são:

REPLACE('String a ser substituída','Trecho procurado','Novo trecho')

No lugar da “String a ser substituída” pode ser alterado por um campo. Por exemplo:

UPDATE clientes SET nome = REPLACE(nome,'Silva','Souza')

Qual a diferença entre os eventos onkeypress, onkeyup e onkeydown?

Muitas vezes os eventos onkeypress, onkeyup e onkeydown são utilizados para o mesmo fim: receber os eventos do teclado. Entretanto existem algumas diferenças básicas no funcionamento deles.

A diferença primordial entre eles é relacionado a quando os eventos são disparados. O onkeydown é disparado assim que a tecla é pressionada, sendo assim o primeiro entre os eventos a ser disparado. Em seguida é a vez do onkeypress e por último, quando a tecla é solta, o evento onkeyup é executado.

Outra diferença fundamental é que nem todas as teclas são tratadas em todos os navegadores no onkeypress. Em geral ele se limita apenas em disparar eventos quando a tecla, única, gerar algum caractere ASCII, fazendo com que ALT, CTRL e Backspace por exemplo, não disparem eventos. Por outro lado, qualquer tecla gera evento tanto em onkeypress quanto em onkeydown, desde que respeitados sua definição, conforme parágrafo anterior.

Há ainda a possibilidade de o teclado ficar com uma mesma tecla pressionada pelo usuário. Nesse caso, o evento onkeyup, seguindo sua própria definição, só será disparado na hora em que houver o evento de soltar a tecla, ao contrário de onkeypress e onkeydown, a cada novo caractere que for gerado num campo texto será disparado o evento – se essa tecla gerar algum caractere ASCII. Caso contrário, apenas o evento onkeydown será chamado.

Evento Ordem de disparo Caractreres ASCII Teclas não-ascii Tecla mantida pressionada
onkeydown 1 Sim Sim N ocorrências
onkeypress 2 Sim Não N ocorrências
onkeyup 3 Sim Sim 1 ocorrência

Como plotar intervalos de confiança em um gráfico no R

No post anterior vimos como calcular os intervalos de confiança para um conjunto de dados. Irei utilizar nos exemplos os mesmos conjuntos de dados e funções do post anterior.

Para construir um gráfico com essas informações no R segue uma função adaptada da solução que encontrei aqui:

plot_inter_conf <- function(x, y, upper, lower=upper, length=0.1,...){
 if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper))
 stop("vectors must be same length")
 arrows(x,upper, x, lower, angle=90, code=3, length=length, ...)
}

grafico <- barplot(mean(lista), names.arg=c(1),ylim=c(0,6), col="blue", axis.lty=1, xlab="", ylab="")

plot_inter_conf(grafico, mean(lista), inter_conf(lista)[2], inter_conf(lista)[1])

Como calcular intervalos de confiança de um conjunto de dados em R

Para encontrar os valores do intervalo de confiança de um determinado conjunto de dados vamos utilizar funções da biblioteca boot e para tal precisamos carregá-la no R:

> library(boot)

Agora definimos uma lista qualquer de valores para fazer os teste:

> lista = c(1,2,3,4,5,6)
> mean(lista)
[1] 3.5

Executamos a função boot pois o retorno dela é necessário para o passo seguinte que contém os valores do intervalo de confiança.

Estamos aqui utilizando a operação de média, que é definida na função boot.

> boot_resultado = boot(lista, function(x,j) mean(x[j]), R=1000) 
> boot_resultado

ORDINARY NONPARAMETRIC BOOTSTRAP

Call:

boot(data = lista, statistic = function(x, j) mean(x[j]), R = 1000)

Bootstrap Statistics :
 original bias std. error
t1* 3.5 0.0035 0.6858388

A função boot.ci utiliza os valores do resultado da função boot e nos retorna os valores do intervalo de confiança.

> boot.ci(boot_resultado)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = boot_resultado)

Intervals : 
Level Normal Basic 
95% ( 2.152, 4.841 ) ( 2.167, 4.833 )

Level Percentile BCa 
95% ( 2.167, 4.833 ) ( 2.133, 4.667 ) 
Calculations and Intervals on Original Scale
Warning message:
In boot.ci(boot_resultado) :
 bootstrap variances needed for studentized intervals

Aqui segue uma função que retorna uma lista com os valores do intervalo de confiança para tornar mais prática a utilização das funções nas execuções que você desejar:

> inter_conf <- function(i){ 
   boot_value <- boot(i, function(x,j) mean(x[j]), R=1000)
   if(apply(boot_value$t, 2, sd) == 0) {
     return(c(boot_value$t0,boot_value$t0))
   }else {
     return((boot.ci(
       boot_value,
       type=c("perc")
      )
     )$percent[4:5])
   }
 }
> inter_conf(lista)
[1] 2.000000 4.833333