Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Running an SQL file

Tags:
  1. Oct 20, 2015 #1

    WWGD

    User Avatar
    Science Advisor
    Gold Member

    Hi all,
    I have an .sql file; written as a set of commands, as a general text file,
    with a .sql extension. I need to execute it in order to get some tables as
    output, and then run some queries on these tables.
    Are there some free programs to run/execute the file? I got some hits on
    a search suggesting some sort of free MySQL file, but I have found nothing.
    Thanks for any ideas.
     
  2. jcsd
  3. Oct 20, 2015 #2

    Borg

    User Avatar
    Gold Member

  4. Oct 20, 2015 #3
    the mysql server itself is what runs these files.

    mysql -u yourusername -p yourpassword yourschemal < textfile.sql
     
  5. Oct 20, 2015 #4

    WWGD

    User Avatar
    Science Advisor
    Gold Member

  6. Oct 21, 2015 #5

    jtbell

    User Avatar

    Staff: Mentor

    What have you been using to run the SQL code that you've been studying for the past several weeks?

    Another option is the MySQL Community server:

    http://dev.mysql.com/downloads/mysql/

    I use it on Mac OS, and it's very popular on Linux, but I see there's also a Windows installer.
     
    Last edited: Oct 21, 2015
  7. Oct 21, 2015 #6

    WWGD

    User Avatar
    Science Advisor
    Gold Member

    Thank you all, I think I realized where my confusion was; it seems I am having trouble since I have executed (run) the
    file as a query (in SQL 2014) more than once. First time is fine, but I seem to be having trouble running the same initial file as a query more than
    once.
     
  8. Oct 21, 2015 #7
    Probably this is because whatever the SQL program does, it is changing the database file/s itself in some way.
    It is designed to process an expected set of data and process it, job done.
     
  9. Oct 22, 2015 #8

    jim mcnamara

    User Avatar

    Staff: Mentor

    Seems to be some assumptions that need a tune-up.
    SQL is arbitrarily divided into flavors:
    Data definition language DDL - examples CREATE, ALTER, DROP
    Data manipulation Language DML - examples SELECT UPDATE DELETE INSERT
    Data control language DCL - examples GRANT

    You can rerun a SQL file DML-only practically forever. Identical file, many times, with some exceptions about data integrity violations.
    If you rerun a DML-containing file with commands like CREATE you get errors. ALTER - if it is a different statement each time - is okay.
    If you rerun DCL it is usually not going to break stuff, but is a crummy idea except in special cricumstances.

    Based on your comment it looks like your SQL has DDL in it. Do not rerun it adhoc like that.
     
  10. Oct 22, 2015 #9
    Yeah, if you are trying to create something, you need to wrap it in an IF EXISTS, most sql files are not meant to be run more than once.
     
  11. Oct 22, 2015 #10

    WWGD

    User Avatar
    Science Advisor
    Gold Member

    Thank you. The SQL I am running lives in a virtual machine. Would there be problems running/executing the same file in different VMs?
     
  12. Oct 22, 2015 #11

    jim mcnamara

    User Avatar

    Staff: Mentor

    The problem is the database content. Re-running DDL can trash an existing schema. Generally you have a single copy of a db on a server. Then you have physically or virtually separate multiple clients running SQL scripts. AFTER the initial DDL run to create the on DB for everybody to use.

    Some db's are distributed to local machines after they are built. Code library software uses db technology sometimes. In this case one DB instance per user. But the schema and some seed data exist on the distribution.

    There is definitely some sort of disconnect here - could be on my side. If you would, please give us a couple of answers:
    1. what is the application requirement the DB meets? (Learn to play DBA, track car repairs, track entries in a collection - are the kind of answer we need here)
    2. I gather you understand programming but not relational databases and their real world uses. Correct?
     
  13. Oct 23, 2015 #12

    WWGD

    User Avatar
    Science Advisor
    Gold Member

    It is more of my having the bad habit of asking simple or poorly-phrased questions and then figuring them out right after I have asked them. I am trying to break it and just think things through carefully and avoid asking poor-quality questions -- thanks for your patience.
     
  14. Oct 23, 2015 #13

    WWGD

    User Avatar
    Science Advisor
    Gold Member

    Sorry, I don't mean to belittle the feedback, which has been very helpful, I meant that I do not always stop to think things through as I should.
    There is also the fact that even if/when I know or should know the answer, I learn new things from the feedback, and by asking alone and seeing the
    answer the material is reinforced and I learn some new things at the same time, and dispel some misconceptions. Thanks to all again.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Running an SQL file
  1. SQL columns (Replies: 5)

  2. SQL Help? (Replies: 8)

Loading...