Funções raramente usadas, porém úteis [SQL]

Existem algumas funções em banco de dados que poucas pessoas conhecem

Irei atualizando esse post com funções que encontro pelo caminho

As funções serão para o banco de dados MySql, que acredito eu que seja o mais usado Porém no futuro pretendo criar o mesmo post, porém com as funções do SQLite

Estrutura da tabela

A tabela utilizada para esse doc será gerado apartir do seguinte script

create table if not exists `usuario` (
    id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `nome` varchar(255) NOT NULL,
    `sobrenome` varchar(255),
    `email` varchar(255) NOT NULL,
    `ativo` boolean,
    `criado` datetime,
    `modificado` datetime
);

Listar campos de uma tabela

Sim, é possivel listar as propriedades de uma tabela na base de dados Para isso basta usar o script

DESC [tabela]

o [tabela] é o nome da tabela que deseja listar os dados então em minha base de dados ficaria

DESC usuario

O retorno dessa função irá retornar dados como:

  • Nome do campo
  • tipo
  • nulo
  • chave
  • padrão
  • extra
Field	Type	Null	Key	Default	Extra
id	int(11)	NO	PRI	\N	auto_increment
nome	varchar(255)	NO		\N	
sobrenome	varchar(255)	YES		\N	
email	varchar(255)	NO		\N	
ativo	tinyint(1)	YES		\N	
criado	datetime	YES		\N	
modificado	datetime	YES		\N	

Listar tabelas de um banco de dados

Essa função já pode ser utilizada para verificar se uma tabela existe, pois ela retorna uma listagem de todas as tabelas presente na base de dados A sintaxe é:

SHOW TABLES

Essa sintaxe retorna o nome de todas as tabelas como descrito em cima, segue exemplo a baixo

Tables_in_lis
usuario

Essas função não afetam sua base de dados, então não há problemas em testar


Caso alguem responda uma função que esteja nessa publicação não deem votos negativos, pois irei pegando as respostas e atualizando esse post

Não procuro montar um manual do SQL, mas sim funções interessantes para o mesmo