PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgresql - Създаване на база данни и таблица динамично

Бих направил това:

string connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;";
var m_conn = new NpgsqlConnection(connStr);
var m_createdb_cmd = new NpgsqlCommand(@"
    CREATE DATABASE IF NOT EXISTS testDb
    WITH OWNER = postgres
    ENCODING = 'UTF8'
    CONNECTION LIMIT = -1;
    ", m_conn);
m_conn.Open();
m_createdb_cmd.ExecuteNonQuery();
m_conn.Close();

connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;Database=testDb";
m_conn = new NpgsqlConnection(connStr);
m_createtbl_cmd = new NpgsqlCommand(
   "CREATE TABLE table1(ID CHAR(256) CONSTRAINT id PRIMARY KEY, Title CHAR)"
   , m_conn);
m_conn.Open();
m_createtbl_cmd.ExecuteNonQuery();
m_conn.Close();

Използването на var тук не се препоръчва. Използвах го, тъй като не знам какви са върнатите типове, но трябва.

Забележете използването на необработен низ (@ ). Прави изграждането на низове лесно.

Не използвайте идентификатори, заобиколени от двойни кавички в Postgresql, освен ако идентификаторът по друг начин не е незаконен. Това ще направи живота ви много по-труден.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо командата \dt дава - няма намерени отношения?

  2. Как да импортирате *огромни* части от данни в PostgreSQL?

  3. Как да стартирате ad-hoc скрипт в PostgreSQL?

  4. ALTER заявката е много бавна на малка таблица в PostgreSQL

  5. Двойни кавички в името на таблицата в заявката за избор на PostgreSQL