Как я могу создать базу данных PostgreSQL на Java?

#java #database #postgresql

#java #База данных #postgresql

Вопрос:

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

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

Комментарии:

1. Черт возьми, я бы не стал делать эту часть на Java. В руководстве обсуждается создание базы данных, таблиц и т. Д.

2. И после настройки базы данных, я уверен, вы захотите узнать, как подключиться к этой базе данных на Java. Документы PostgreSQL JDBC расскажут вам.

Ответ №1:

Вы МОЖЕТЕ создавать и удалять базы данных 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

Комментарии:

1. Это не работает, поскольку Java JDBC выдает исключение сразу после DriverManager.getConnection(…), потому что, если имя базы данных не указано, оно будет использовать имя пользователя в качестве базы данных по умолчанию. jdbc.postgresql.org/documentation/head/connect.html

2. Это явно неправильно, поскольку для этого требуется существование базы данных с именем user .

Ответ №2:

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

 CREATE DATABASE testdb;
 

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

Ответ №3:

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

  1. Что вы делаете, это подключаетесь к localhost
  2. создайте sql «создать базу данных 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
 

Комментарии:

1. Пожалуйста, расширьте свой ответ дальше, чем просто предоставление ссылки. Смотрите здесь для дальнейших рассуждений.

2. Вопрос касается Postgres, а не MySQL

Ответ №4:

Ваш вопрос немного неправильный, с помощью кода 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");
    }
    }
 

Для полного reference:http://kodingpoint.blogspot.in/2014/01/java-postgresql-connectivity-example.html