sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql - Skapa databas och tabell dynamiskt

Jag skulle göra så här:

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

Användningen av var här rekommenderas inte. Jag använde det eftersom jag inte vet vad de returnerade typerna är men du borde.

Lägg märke till användningen av en råsträng (@ ). Det gör det enkelt att bygga strängar.

Använd inte identifierare omgivna av dubbla citattecken i Postgresql om inte identifieraren på annat sätt är olaglig. Det kommer att göra ditt liv mycket svårare.



  1. Hur man init MySql Database i Docker Compose

  2. mysql fix ogiltiga datum

  3. hur man lägger till ett datum (DateTime.now) till en mySql-databas i C#

  4. Hur kan jag göra en migrering i laravel 5.5?