On vérifie les données mysql> select * from author order by name; +----------+ | name | +----------+ | Grant | | Gregoire | | Gregory | | Grgoire | +----------+ 4 rows in set (0.00 sec) postgres=# select * from author order by name; name ---------- Grant Gregoire Grégoire Gregory (4 rows)
On ajoute d’autres données mysql> insert into author (name) values ('a very very long name'); Query OK, 1 row affected, 1 warning (0.10 sec) mysql> select * from author ; +------------+ | name | +------------+ [...] | a very ver | +------------+ 5 rows in set (0.01 sec) postgres=# INSERT INTO author (name) VALUES ('a very very very long name'); ERROR: value too long for type character varying(10)
Il y a plus de types ● SQL standard ● JSON (8+, 9/2017) ● GEO (8+, 9/2017) ● SQL standard ● JSON (9.3, 9/2013) ● GEO ● Bool ● Uuid ● XML ● hstore ● network (ip, cidr, mac) ● full text ● composite ● range ● user defined
Et sinon ? ● MySQL ne supporte pas les Common Table Expression (<8) ● MySQL ne supporte pas les Windows Fonctions en (<8) ● On ne peut pas changer le schéma dans une transaction ● MySQL n’a pas de système de “Foreign data wrapper” ● Le CLI est affreux ● MySQL ne respecte pas SQL92 ○ Mais qui la respecte ? ● MySQL a été “repris” par Oracle ● Le développement est fait en interne