MySQL To DerbyDB: mudanças entre as edições
Criou página com 'Este tópico sintetiza as diferenças de comandos e outros detalhes entre o MySQL e o DerbyDB (JavaDB). O principal propósito é criar um guia de referência para facilitar a...' |
Sem resumo de edição |
||
Linha 38: | Linha 38: | ||
|`bacencode` VARCHAR(5) NOT NULL | |`bacencode` VARCHAR(5) NOT NULL | ||
|bacencode VARCHAR(5) NOT NULL | |bacencode VARCHAR(5) NOT NULL | ||
|}</center> | |||
== Relação entre Tipos de Dados == | |||
Para representar os mesmos tipos de dados há algumas diferenças entre os bancos de dados. Mesmo tipos que tem o mesmo nome podem ter escopos e dimensões diferentes. | |||
<center> | |||
{| class="wikitable" style="width:80%;" | |||
!scope="col" style="width:25%;" |MySQL | |||
!scope="col" style="width:25%;" |DerbyDB | |||
!scope="col" style="width:50%;" |Detalhes | |||
|- | |||
|'''DATETIME''' | |||
|'''TIMESTAMP''' | |||
|Para guardar data + tempo no Derby é obrigatório utilizar o formato TIMESTAMP. | |||
|}</center> | |}</center> |
Edição das 17h06min de 3 de maio de 2015
Este tópico sintetiza as diferenças de comandos e outros detalhes entre o MySQL e o DerbyDB (JavaDB). O principal propósito é criar um guia de referência para facilitar a migração entre os bancos já que o modelo é todo feito no MySQL Workbench (que utiliza o MySQL como referência), e algumas aplicações como o BISPDV utiliza o DerbyDB como banco local.
Diferenças de Syntaxe SQL
Nomes de Tabelas e Campos
O MySQL costuma envolver o nome de colunas, tabelas e schemas entre crases (´´), como se fossem aspas. O que o impede de confundir as tabelas/colunas com palavras da sintaxe como "index", "update", "from", etc.. O Derby não suporta as crases, sendo obrigatória e remoção de todas. Assim não resta outra maneira além de não utilizar palavras reservadas da sintaxe SQL como nome de tabelas e colunas.
MySQL | DerbyDB |
---|---|
CREATE TABLE `pdvlocal_locationcountry` (...) | CREATE TABLE pdvlocal_locationcountry (...) |
Auto Increment
MySQL | DerbyDB |
---|---|
AUTO_INCREMENT | GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) |
Null / Not Null
O DerbyDB não suporta a sintaxe "NULL" como o MySQL. Por padrão o DerbyDB já tem os campos NULL, assim quando o campo aceitar NULL não se deve especificar.
MySQL | DerbyDB |
---|---|
`bacencode` VARCHAR(5) NULL | bacencode VARCHAR(5) |
`bacencode` VARCHAR(5) NOT NULL | bacencode VARCHAR(5) NOT NULL |
Relação entre Tipos de Dados
Para representar os mesmos tipos de dados há algumas diferenças entre os bancos de dados. Mesmo tipos que tem o mesmo nome podem ter escopos e dimensões diferentes.
MySQL | DerbyDB | Detalhes |
---|---|---|
DATETIME | TIMESTAMP | Para guardar data + tempo no Derby é obrigatório utilizar o formato TIMESTAMP. |