2015-07-13 3 views
0

У меня есть проект в моем классе реляционных баз данных, в котором я должен переместить свой словарь данных в сценарий MySQL, который будет использоваться с Oracle SQL Developer.Проверка/создание/проверка синтаксиса MySQL

У меня написан сценарий, но я понятия не имею, как его протестировать или если он работает, поскольку из дома у меня нет базы данных для подключения. Проведя некоторое исследование, я даже не совсем уверен, прав ли мой синтаксис (или если его даже учат правильно). Я заглянул в SQLFiddle, но я так новичок в MySQL, что даже не уверен, как вводить в него свой скрипт. Мои сценарии тестирования инструкторов также не будут работать в SQLFiddle, и я не уверен, как использовать текст для DLL, который я предполагаю, требуется для тестирования в SQLFiddle.

Может ли кто-нибудь помочь мне, указав мне способ подключения к какой-то тестовому серверу, как использовать SQLFiddle или просто быть в состоянии смотреть и видеть, что что-то не так с самим кодом (что-то который торчит неправильно или что-то еще). Это код, который я придумал:

drop TABLE student; 

drop TABLE building; 

drop TABLE course; 

drop TABLE instructor; 



Create TABLE student 

    (stu_id CHAR(5), 

    stu_fname VARCHAR2(15), 

    stu_lname VARCHAR2(20), 

    stu_minital CHAR(1), 

    stu_phone CHAR(12), 

    stu_address VARCHAR2(20), 
    stu_city VARCHAR2(15), 
    stu_state CHAR(2), 
    stu_zip CHAR(5), 
    stu_crs_id CHAR(5), 
    CONSTRAINT student_stu_id_pk PRIMARY KEY (stu_id), 
    CONSTRAINT student_stu_crs_id_fk FOREIGN KEY (stu_crs_id) 
    REFERENCES course(crs_id)); 



describe student; 

Create TABLE building 
    (bld_id CHAR(2), 
    bld_address VARCHAR2(20), 
    bld_city VARCHAR2(15), 
    bld_state CHAR(2), 
    bld_zip CHAR(5), 
    CONSTRAINT bulding_bld_id_pk PRIMARY KEY (bld_id)); 

describe building; 

Create TABLE course 
    (crs_id CHAR(6), 
    crs_name VARCHAR2(15), 
    crs_room CHAR(3), 
    crs_inst_id CHAR(5), 
    crs_bld_id CHAR(2), 
    CONSTRAINT course_crs_id_pk PRIMARY KEY (crs_id), 
    CONSTRAINT course_crs_inst_id_fk FOREIGN KEY (crs_inst_id) 
    REFERENCES instructor(inst_id), 
    CONSTRAINT course_crs_bld_id_fk FOREIGN KEY (crs_bld_id) 
    REFERENCES building(bld_id)); 

describe course; 

Create TABLE instructor 
    (inst_id CHAR(5), 
    inst_fname VARCHAR2(15), 
    inst_lname VARCHAR2(20), 
    CONSTAINT instructor_inst_id_pk PRIMARY KEY (inst_id)); 

describe instructor; 

SELECT * FROM student; 
SELECT * FROM building; 
SELECT * FROM course; 
SELECT * FROM table; 
+0

Почему у вас нет базы данных для подключения? Какая часть этого не будет работать в SQLFIDDLE? Неужели вы не спрашиваете нас, как копировать-вставить? – Strawberry

+0

Нет, я помещаю этот код в SQLFiddle, и он ломается. Тем не менее, я просто вернулся к нему, и теперь он берет мой код, может быть, это было что-то вниз. Что касается БД для подключения, я понятия не имею. Я размахивал своим мозгом, пытаясь понять, как настроить его (безрезультатно) и задаться вопросом, почему это было требованием нашего проекта без инструментов, чтобы заставить его работать. –

+0

Ну, это действительно сработало. Теперь я снова получаю сбои, GATEWAY_TIMOUT и диалоги «что-то пошло не так». –

ответ

1

Крис, ОНР возможных решений, чтобы попытаться взглянуть на:

https://github.com/webyog/sqlyog-community

Это бесплатная база данных (который мне лично очень нравится), но он не проверяет ваш синтаксис, как вы хотите. Я не думаю, что любая программа могла бы. Вы единственный, кто знает, что вы хотите с этим скриптом. Но, попробуйте этот webYog. он должен сделать валидацию относительно синтаксиса, так что запятая, тип столбца и т. д. верны, а не имя используемых переменных и логика, лежащая за ними.

Во-вторых, если у вас do't есть время попробовать это взглянуть на эти ссылки:

Online SQL syntax checker conforming to multiple databases

или

Are there any SQL Validators that can check syntax against multiple database servers?

Надеюсь, что это ссылки h лопнет!

+0

Это помогло мне в правильном положении. Благодаря! Тем не менее, я получаю эту ошибку в синтаксисе. У вас есть идея о том, почему? «Код ошибки: 1064 У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с инструкцией« trainor_inst_id_pk PRIMARY KEY (inst_id)) »в строке 5» –

+0

Не обращайте внимания, я был пытаясь запустить тест, а не таблицу mysql. У меня есть начальная точка сейчас. Спасибо за помощь! –

+0

Без проблем, рад, что я мог бы помочь. – EugenG