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