sql >> Database >  >> RDS >> PostgreSQL

Postgresql - Database en tabel dynamisch maken

Ik zou dit doen:

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();

Het gebruik van var hier is niet aan te raden. Ik heb het gebruikt omdat ik niet weet wat de geretourneerde typen zijn, maar dat zou je moeten doen.

Let op het gebruik van een onbewerkte tekenreeks (@ ). Het maakt het bouwen van strings eenvoudig.

Gebruik geen identifiers tussen dubbele aanhalingstekens in Postgresql, tenzij de identifier anderszins illegaal is. Het zal je leven veel moeilijker maken.



  1. Slaapstand, MySQL en tabel met de naam Repeat - vreemd gedrag

  2. Waarom lijkt de conversie van DATETIME naar DATETIME2 van waarde te veranderen?

  3. Meerdere waarden invoegen in een tabel in php

  4. Hoe het antwoord van mijn server op te slaan, en hoe kan ik toegang krijgen tot die gegevens?