Переход от разработчика SQL к MySQL - PullRequest
0 голосов
/ 06 декабря 2018

Итак, у меня есть несколько таблиц в моей базе данных в Sql developer, к которым у меня все еще есть запросы.Если я попытаюсь поместить его в mysql, то получится с некоторыми ошибками, поэтому мне интересно, что же отличается и почему он не работает, как то, что мне нужно изменить.

Вот некоторые из таблиц, которые я создал в sql, которые я сейчас пытаюсь создать в mysql:

create table EspecialidadesMedicas(
IdEspecialidad number(4) constraint pk_EspecialidadesMedicas primary key,
DescripcionEspecialidad varchar2(30));

create table Doctores(
IdDoctor number(5) constraint pk_Doctores primary key,
NombreDoctor varchar2(30),
Salario number(12,2),
Especialidad constraint fk1_Doctores references EspecialidadesMedicas);

create table Consultorios(
IdConsultorio number(4) constraint pk_Consultorios primary key,
Tamano varchar2(30),
Construido date);

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Ваша первая таблица будет выглядеть в MySQL следующим образом:

CREATE TABLE `de`.`EspecialidadesMedicas` (
  `IdEspecialidad` INT NOT NULL AUTO_INCREMENT,
  `DescripcionEspecialidad` VARCHAR(30) NULL,
  PRIMARY KEY (`IdEspecialidad`));

Как вы видите, в синтаксисе, типах данных и функциях есть довольно много различий, которые не все здесь могут быть рассмотрены.(например, AUTO INCREMENT) Самый простой способ получить это - использовать инструмент, подобный MySQL Workbench .Это позволяет вам использовать графический интерфейс для создания ваших таблиц и отображает выполненный SQL.Таким образом, вы видите различия.

Я также предлагаю прочитать некоторые учебные пособия по миграции, подобные этим:

https://blog.toadworld.com/2017/03/17/migrating-from-oracle-to-mysql

http://www.sqlines.com/oracle-to-mysql

0 голосов
/ 06 декабря 2018

Ваше первое утверждение станет следующим:

create table EspecialidadesMedicas(
  IdEspecialidad int primary key,
  DescripcionEspecialidad varchar(30)
);

Ваше второе утверждение может стать следующим:

create table Doctores(
    IdDoctor int primary key,
    NombreDoctor varchar(30),
    Salario decimal(12,2),
    Especialidad int,
    constraint fk1_Doctores foreign key (Especialidad) references EspecialidadesMedicas (IdEspecialidad)
);

Ваше третье утверждение окажется следующим:

create table Consultorios(
    IdConsultorio int primary key,
    Tamano varchar(30),
    Construido date
);

Попробуйте это в MySQL.

...