Artigos com o marcador Banco de Dados
Dicas SQL – Resetando um campo auto incremento de um BD
0Para resetar um campo auto incremento de um banco basta utilizar o comando abaixo:
MySQL:
ALTER TABLE tabela AUTO_INCREMENT = 0
SQL Server:
DBCC CHECKIDENT(‘tabela’, RESEED, 0) ;
Paradox 7 (Não testado em outras versões):
function ResetAutoInc(FileName: TFileName; NewValue:Longint): Boolean;
begin
with TFileStream.Create(NomeDoArquivo, fmOpenReadWrite) do
try
Result := (Seek($49, soFromBeginning) = $49) and (Write(NovoValor, 4) = 4);
finally
Free;
end;
end;
Quem souber em mais Bd’s é só comentar aqui que adiciono e dou os devidos créditos.
Dicas SQL – Selecionar linha aleatória
0Há algum tempo apareceu uma necessidade de adquirir uma linha de uma tabela de forma aleatória, então temos as seguintes instruções.
MySQL
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
PostgreSQL
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Serve:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Oracle
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
Fonte:
http://www.petefreitag.com/item/466.cfm
Dicas SQL – Limitando registros de uma consulta no BD
4Começando com algumas dicas simples de MySQL:
Para mostrar o último registro de uma tabela podemos utilizar o seguinte comando:
select * from tabela order by id desc limit 1
O “desc” determina que os registros serão exibidos de forma decrescente.
Para exibir os 5 últimos registros de sua tabela:
select * from tabela order by id desc limit 5
Ou seja, o número após o “limit” é o que determina quantos registros serão exibidos.
Agora para mostrar apenas o penúltimo registro:
select * from tabela order by id desc limit 1,1
Sobre o comando acima, o primeiro número determina quantos registros serão “pulados”, e o segundo representa quantos registros serão mostrados.
Portanto, se quisermos mostrar o penúltimo e o antepenúltimo registro podemos utilizar o seguinte comando:
select * from tabela order by id desc limit 1,2
A partir daí dá pra conseguir muitos resultados específicos de uma tabela, lembrando que o campo id é um inteiro com auto incremento.
Até a próxima!!!