viernes, 5 de octubre de 2012

Diferencias entre comandos para PostgreSQL y MySQL

Hay algunas diferencias entre los comandos para una y otra base de datos que voy a ir anotando aquí.
El primero es la forma de conectarse.

PostgresSQL

josealopez@josealopez-laptop:~ $ sudo su - postgres
MySQL
josealopez@josealopez-laptop:~ $ mysql -u root -p
Una vez que nos hemos conectado, para poder ver todas las bases de datos 

PostgreSQL
postgres@josealopez-laptop:~$ psql
postgres=# \l
MySQL
mysql> show databases;
Para usar una u otra base de datos

PostgresSQL:
postgres@josealopez-laptop:~$ psql database_name 
MySQL
mysql> use database_name
Para crear un campo autoincremental también se hace de forma distinta, de hecho, en MySQL no se usan los elementos del tipo sequence que pueden ser mapeados con JPA. Por lo tanto lo que para PosrgreSQL es: create sequence mi_seq que luego es empleado en una table como clave primaria con id int default nextval('mi_seq') primary key,para MySQL es id int not null primary key auto_increment.

Por lo tanto, para crear una tabla que use campo autoincrementales

PostgreSQL
CREATE SEQUENCE mi_seq;
CREATE TABLE "mi_tabla" (
id int default nextval('mi_seq') primary key,
"nombre" varchar (50),
"login" varchar(10)
);
MySQL
CREATE TABLE mi_tabla (
id int not null primary key auto_increment,
nombre varchar(50),
login varchar(10))

Iré añadiendo más conforme vaya encontrando.


No hay comentarios :

Publicar un comentario