I want to generate all table creation statements through information_schema - java

I want to read the information_schema to generate a table creation statement through the tables inside, and then send it to bigquery to realize the table creation, but I know what kind of solution can realize my idea
currently looking for some solutions

Related

how to copy table ddl and data from another database in informix

I have to copy table DDL and its data on informix database using java language.
here I have tried to use
create table xxx as select * from xxx;
The question of the solution are:
1 we should copy table from one database to another one, BUT here we only copy it in same database, I have tried use "database.table" to refer another one, that not work.
2 the whole DDL of old table cann't copy to new table, such as index definition.
there is any way to get the whole DDL of the old table using SQL so that I can execute that to another database to create same table in java language? Or other way to fix the problem?

Why is Show Tables a better option over DatabaseMetaData.getTables() when looking for a specific table in a database?

I currently have a method in my Java program, using JDBC that checks if a specific table exists in a MySQL database. I had a logic error where the DatabaseMetaData.getTables() method was returning a same-named table from a different database, and I've now solved that by specifying the catalog in the statement as seen below (table represents the table name I'm looking for).
ResultSet tables = connectionToDatabase().getMetaData().getTables("snakeandladder", null, table, null);
However, after doing some research, I saw a lot of people recommending to use Show Tables instead, but not actually explaining why to use Show tables over the above.
Can someone explain to me the limitations of using the statement above and why Show Tables would be a better option?
Thank you!
DatabaseMetaData.getTables() is more portable, most of the databases (not only MySQL) should be able to provide information through defined API.
On the other hand using MySQL specific query "show tables;" may cause more harm than good:
you introduce a query string which can be exploited by an attacker, also the code now contains a statically compiled query string.
if ever the database provider will change, so the code will have to be updated (again portability)

Google BigQuery : Inserting data into temporary table for joining it onto another table

I am currently trying to push some data from Java into BigQuery, in order to be able to make use of it only for the next query and then to get rid of it.
The data consists of 3 columns which exists in the table I want to query. Therefore, by creating a temporary table containing this data, I could make a left join and get the query results I am in need of.
This process will happen on a scheduled basis, having different sets of data.
Can you please tell me if that can be done ?
Many thanks !
Using the jobs.query API, you can specify a destinationTable as part of configuration.query. Does that help? You can control the table expiration time using the tables.update API and setting expirationTime.
Alternatively, you can "inline" the table as part of the query that you want to run using a WITH clause in standard SQL rather than writing to a temporary table.

How to retrieve data from a table in a database and print it in a table in a GUI form in Java

I have a database with tables in it which contains information. I would like to retrieve data from the table which is on the database to the table which I have made on a GUI form. I have tried retrieving the data using system.out.print method and I get results, meaning the database connection works and recognizes the table. Only problem is I do not know how to that for tables in the code. Please keep in mind that the GUI I made, the code was generated automatically so I do not have 100% access to the code.
Your connection to the database seems to be correct, however, you cannot set your table to contain the values you need. If the diagnosis is correct, then below you will find useful information:
I do not know what are you using for tables, I will assume you are using JTable, but if you use something else, only technical details should change as the thought process should remain intact.
To get general knowledge, please read this tutorial.

Auto Create MySQL Tables on First Run Java/MySQL

I am trying to Auto create SQL tables on first run, and haven't found any good tutorial on google. Does anyone have a suggestion or can explain it to me. My class so far looks like: http://pastebin.com/6u8yFWrt
In Mysql you can do:
CREATE TABLE tablename IF NOT EXISTS...
This will, as the name says, create the table if there is no table with the same name, described here. If you run it whenever you open the connection to the database, you should be fine.
BUT this is no guarantee that the existing table has the format you want! If you change the definition of the table halfway through the process, because you want an extra column, you will need to delete the existing table fist, for the changes in the query to have an effect.
I think you should use JPA and Hibernate instead. Youre probably in for quite a journey until you get the hold of it but I think it is worth the effort.

Categories