Андрей
Высший разум
(465017)
2 месяца назад
Да, отличается.
На уровне SELECT / UPDATE / DELETE / INSERT главные отличия: другое экранирование имён (не ", а `), другой синтаксис обработки дублей unique-столбцов при вставке / обновлении и то, что в MySQL сравнение строк производится без учёта регистра букв.
Но чем глубже, тем различий больше.
В MySQL нет уровня базы данных. То, что в MySQL называется "базой данных", в действительности является схемой. И хотя команды со словом DATABASE в MySQL есть, они являются полными синонимами SCHEME-команд.
В MySQL намного более ограниченный набор SQL-команд и абсолютно иной язык хранимых подпрограмм.
В MySQL совершенно другая работа с автонкрементными полями. Таблица может содержать только одно такое поле - первичный ключ. И нет никаких внешних счётчиков: счётчик - внутреннее свойство таблицы.
Другой набор типов текстовых полей. CHAR и VARCHAR всегда ограничены по длине, для длинных текстов используются отдельные типы полей.
И т.д.
Павел Михаловский
Просветленный
(36754)
2 месяца назад
По моим субъективным ощущениям разница довольно сильная.
После oracle на postgresql перейти гораздо легче, чем с postgresql на mysql.
Если брать самые базовые запросы а-ля select * from from users или select id from users, то тут различий не будет. Но если сложнее, то уже чувствуется.
Самое главное, что лично мне бросается в глаза - это работа с датами, И автоинкремента нет, в postgresql. Используй последовательности.