Python для PostgreSQL использование psycopg2 быть DML

# ! / USR / местные / python3 / bin / Python 
Импорт SYS
 импорт ОС
 импорт psycopg2 

DB_HOST = " 172.16.101.54 " 
DB_PORT = 5432 
DB_USER = " dbadmin " 
DB_PASSWORD = " agm43gadsg " 
DB_NAME = " edbstore " 


Защиту open_database_connect ():
     попытка : 
        Conn = psycopg2.connect (база данных = DB_NAME, пользователь = DB_USER, пароль = DB_PASSWORD, хост = DB_HOST, порт = DB_PORT)
     , за исключениемИсключение при е:
         печать (е)
     еще :
         возвращение сопп 


Защиты close_database_connect (Conn): 
    conn.commit () 
    conn.Close () 


Защита create_database_object (): 
    Conn = open_database_connect () 
    дворняжка = conn.cursor ()
     попробуйте : 
        cur.execute ( ''» создать таблицу , если не существует edbstore.t1 ( 
                    Empno цифровой (4,0) первичный ключ, 
                    ENAME VARCHAR (24), 
                    работа VARCHAR (10), 
                    прил числовой (4,0), 
                    HireDate метка времени без временной зоны,
                    сала числового (7,2), 
                    Прдч числовой (7,2), 
                    DEPTNO числового (2,0), 
                    ограничение проверки t1_sal_ck ((сала> (0) :: числовые)) 
                    ) 
                    ''» )
     , за исключением BaseException как е:
         печать (е)
     еще : 
        close_database_connect (Conn) 


Защита insert_database_object (): 
    Conn = open_database_connect () 
    дворняжка = conn.cursor ()
     попробуйте : 
        cur.execute ( ''»INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7369, 'SMITH', 'CLERK', 7902, '1980-12-17 00:00:00', 800,00 , NULL, 20) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7499, 'ALLEN', 'ПРОДАВЕЦ', 7698, '1981-02-20 00:00:00', 1600,00, 300,00, 30) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, комм, Deptno) 
                        VALUES (7521, 'УОРД', 'ПРОДАВЕЦ', 7698, '1981-02-22 00:00:00',1250,00, 500,00, 30) ''» ) 
        cur.execute ('' ' )INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7566, 'JONES', 'MANAGER', 7839, '1981-04-02 00:00:00', 2975,00 , NULL, 20) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7654, 'MARTIN', 'ПРОДАВЕЦ', 7698, '1981-09-28 00:00:00', 1250,00, 1400,00, 30) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, комм, Deptno) 
                        VALUES (7698, 'БЛЕЙК', 'MANAGER', 7839, «1981-05-01 00:00:00' , 2850,00, NULL, 30) '' ' 
        cur.execute ( '''INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09 00:00:00', 2450,00 , NULL, 10) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7788, 'SCOTT', 'АНАЛИТИК', 7566, '1987-04-19 00:00:00', 3000,00, NULL, 20) '' ' ) 
        cur.execute ( ''' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, комм, Deptno) 
                        VALUES (7839, 'KING', 'ПРЕЗИДЕНТ', NULL, '1981-11-17 00:00:00', 5000,00, NULL, 10) ''» ) 
        cur.execute ('' ' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7844, 'ТЕРНЕР', 'ПРОДАВЕЦ', 7698,' 1981-09-08 00:00:00 '1500,00, 0,00, 30) ''' ) 
        cur.execute ( '' ' INSERT INTO edbstore.t1 (EMPNO, ENAME, работа, прил, HireDate, сал, Прдч, DEPTNO) 
                        VALUES (7876, 'ADAMS',' КЛЕРК '7788, '1987-05-23 00:00:00', 1100,00, NULL, 20) ''' )
     , за исключением BaseException как е:
         печать (е)
     еще : 
        close_database_connect (Conn) 


Защита select_database_object ():
    Conn = open_database_connect ()
    дворняжка = conn.cursor ()
     попробуйте : 
        cur.execute ( ' выберите EMPNO, ENAME, работа, сала от edbstore.t1 ' )
     , за исключением BaseException как е:
         печать (е)
     еще : 
        строки = cur.fetchall ()
         для строки в строках :
             печать ( " EMPNO = {0}, ENAME = {1}, работа = {2}, сала = {3} " .format (строка [0], строка [1], строка [2], строка [3 ] )) 
        close_database_connect (Conn) 


Защита update_database_object (): 
    Conn= Open_database_connect () 
    дворняжка = conn.cursor ()
     попробуйте : 
        cur.execute ( " обновление edbstore.t1 набор задания = 'MANAGER' , где EMPNO = 7369 и ENAME = 'SMITH' " )
     , за исключением BaseException , как е:
         печать (е)
     еще : 
        close_database_connect (Conn)

 

рекомендация

отwww.cnblogs.com/ilifeilong/p/12452548.html