Как я могу создать базу данных PostgreSQL на Java? - PullRequest
12 голосов
/ 30 октября 2011

Я создал набор SQL-запросов, которые изменяют базу данных, и теперь я хочу их протестировать.

Как создать локальную и временную базу данных PostgreSQL для проверки моих запросов. Я работаю на Java.

Ответы [ 4 ]

13 голосов
/ 24 марта 2014

Вы можете создавать и удалять базы данных PostgreSQL через Java, используя объект Statement. Ответ Канварбрара неверен и не соответствует действительности (но я пока не могу понизить голос).

Пример:

Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/", "username", "password");
Statement statement = c.createStatement();
statement.executeUpdate("DROP DATABASE mydb");

См. Следующую ссылку для хорошей отправной точки:

http://www.jvmhost.com/articles/create-drop-databases-dynamically-java-jsp-code

11 голосов
/ 30 октября 2011

Создать базу данных достаточно просто, как только ваш кластер баз данных будет на месте.
Подключитесь к базе данных обслуживания postgres (установлена ​​по умолчанию) и выполните команду

CREATE DATABASE testdb;

База данных будет создана, и вы можете подключиться к ней сейчас. Конечно, вам необходимо иметь необходимые права доступа для создания базы данных .

0 голосов
/ 05 марта 2015

Вы можете увидеть ее, как создать базу данных. Надеюсь, что эта помощь

  1. Что вы делаете, это подключитесь к localhost
  2. создайте sql "create database your_db"
  3. выполнить

http://www.tutorialspoint.com/jdbc/jdbc-create-database.htm

Сначала необходимо подключиться к локальному хосту

//STEP 1. Import required packages
import java.sql.*;

public class JDBCExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);

      //STEP 4: Execute a query
      System.out.println("Creating database...");
      stmt = conn.createStatement();

      String sql = "CREATE DATABASE STUDENTS";
      stmt.executeUpdate(sql);
      System.out.println("Database created successfully...");
   }catch(SQLException se){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }// nothing we can do
  try{
     if(conn!=null)
        conn.close();
  }catch(SQLException se){
     se.printStackTrace();
      }//end finally try
   }//end try
  System.out.println("Goodbye!");
}//end main
}//end JDBCExample
0 голосов
/ 10 февраля 2014

Ваш вопрос немного неправильный: с помощью Java-кода вы не можете создать базу данных, вы можете просто подключиться к базе данных.

Прежде всего вам необходимо создать базу данных в PgAdminIII.

Вот код, который поможет вам создать таблицу в базе данных postgresql через JAVA

    package database;

      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.SQLException;
      import java.sql.Statement;
      import java.util.logging.Level;
      import java.util.logging.Logger;
      public class Database {


      public static void main(String args[]) {
     try {
        Connection c = null;
        Statement stmt = null;

        try {
           Class.forName("org.postgresql.Driver"); 
           c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/kanwar","postgres", "osm"); 
        } catch (Exception e) {
           e.printStackTrace();
           System.err.println(e.getClass().getName()+": "+e.getMessage());
           System.exit(0);
        }
        System.out.println("Opened database successfully");
          try {
              stmt = c.createStatement();
          } catch (SQLException ex) {
              Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
          }
     String sql = "CREATE TABLE MY_TABLE "+ 
             "(ID INT NOT NULL,"
             + "NAME TEXT       NOT NULL,"
             +     "AGE             INT                  NOT NULL)";




     stmt.executeUpdate(sql);
     stmt.close();
     c.close();
    } catch (SQLException ex) {
        Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch(Exception e)
    {
     System.err.println( e.getClass().getName()+": "+ e.getMessage() ); 
     System.exit(0);
    }
    System.out.println("Table Created Successfully");
    }
    }

Для полной справки: http://kodingpoint.blogspot.in/2014/01/java-postgresql-connectivity-example.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...