当前位置: 首页>>代码示例>>Python>>正文


Python table.insert函数代码示例

本文整理汇总了Python中sqlalchemy.sql.table.insert函数的典型用法代码示例。如果您正苦于以下问题:Python insert函数的具体用法?Python insert怎么用?Python insert使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了insert函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_insert_returning

    def test_insert_returning(self):
        meta = MetaData(testing.db)
        table = Table('tables', meta,
            Column('id', Integer, Sequence('gen_tables_id'), primary_key=True),
            Column('persons', Integer),
            Column('full', Boolean)
        )
        table.create()
        try:
            result = table.insert(firebird_returning=[table.c.id]).execute({'persons': 1, 'full': False})

            eq_(result.fetchall(), [(1,)])

            # Multiple inserts only return the last row
            result2 = table.insert(firebird_returning=[table]).execute(
                 [{'persons': 2, 'full': False}, {'persons': 3, 'full': True}])

            eq_(result2.fetchall(), [(3,3,True)])

            result3 = table.insert(firebird_returning=[table.c.id]).execute({'persons': 4, 'full': False})
            eq_([dict(row) for row in result3], [{'ID':4}])

            result4 = testing.db.execute('insert into tables (id, persons, "full") values (5, 10, 1) returning persons')
            eq_([dict(row) for row in result4], [{'PERSONS': 10}])
        finally:
            table.drop()
开发者ID:gajop,项目名称:springgrid,代码行数:26,代码来源:test_firebird.py

示例2: test_insert_returning

    def test_insert_returning(self):
        meta = MetaData(testing.db)
        table = Table('tables', meta,
            Column('id', Integer, primary_key=True),
            Column('persons', Integer),
            Column('full', Boolean)
        )
        table.create()
        try:
            result = table.insert(postgres_returning=[table.c.id]).execute({'persons': 1, 'full': False})

            self.assertEqual(result.fetchall(), [(1,)])

            # Multiple inserts only return the last row
            result2 = table.insert(postgres_returning=[table]).execute(
                 [{'persons': 2, 'full': False}, {'persons': 3, 'full': True}])
            self.assertEqual(result2.fetchall(), [(3,3,True)])

            result3 = table.insert(postgres_returning=[(table.c.id*2).label('double_id')]).execute({'persons': 4, 'full': False})
            self.assertEqual([dict(row) for row in result3], [{'double_id':8}])

            result4 = testing.db.execute('insert into tables (id, persons, "full") values (5, 10, true) returning persons')
            self.assertEqual([dict(row) for row in result4], [{'persons': 10}])
        finally:
            table.drop()
开发者ID:jrus,项目名称:sqlalchemy,代码行数:25,代码来源:postgres.py

示例3: test_insert_returning

    def test_insert_returning(self):
        meta = MetaData(testing.db)
        table = Table('tables', meta,
            Column('id', Integer, primary_key=True),
            Column('persons', Integer),
            Column('full', Boolean)
        )
        table.create()
        try:
            result = table.insert(postgres_returning=[table.c.id]).execute({'persons': 1, 'full': False})

            eq_(result.fetchall(), [(1,)])

            @testing.fails_on('postgres', 'Known limitation of psycopg2')
            def test_executemany():
                # return value is documented as failing with psycopg2/executemany
                result2 = table.insert(postgres_returning=[table]).execute(
                     [{'persons': 2, 'full': False}, {'persons': 3, 'full': True}])
                eq_(result2.fetchall(), [(2, 2, False), (3,3,True)])
            
            test_executemany()
            
            result3 = table.insert(postgres_returning=[(table.c.id*2).label('double_id')]).execute({'persons': 4, 'full': False})
            eq_([dict(row) for row in result3], [{'double_id':8}])

            result4 = testing.db.execute('insert into tables (id, persons, "full") values (5, 10, true) returning persons')
            eq_([dict(row) for row in result4], [{'persons': 10}])
        finally:
            table.drop()
开发者ID:gajop,项目名称:springgrid,代码行数:29,代码来源:test_postgres.py

示例4: test_insertid_reserved

    def test_insertid_reserved(self):
        meta = self.metadata
        table = Table("select", meta, Column("col", Integer, primary_key=True))
        table.create()

        table.insert().execute(col=7)
        eq_(table.select().scalar(), 7)
开发者ID:monetate,项目名称:sqlalchemy,代码行数:7,代码来源:test_query.py

示例5: _assert_data_noautoincrement

 def _assert_data_noautoincrement(self, table):
     table.insert().execute({'id':30, 'data':'d1'})
     try:
         table.insert().execute({'data':'d2'})
         assert False
     except exc.IntegrityError, e:
         assert "violates not-null constraint" in str(e)
开发者ID:jrus,项目名称:sqlalchemy,代码行数:7,代码来源:postgres.py

示例6: test_table_round_trip

    def test_table_round_trip(self):
        oracle.RESERVED_WORDS.remove('UNION')

        metadata = self.metadata
        table = Table("t1", metadata,
                      Column("option", Integer),
                      Column("plain", Integer, quote=True),
                      # test that quote works for a reserved word
                      # that the dialect isn't aware of when quote
                      # is set
                      Column("union", Integer, quote=True))
        metadata.create_all()

        table.insert().execute(
            {"option": 1, "plain": 1, "union": 1}
        )
        eq_(
            testing.db.execute(table.select()).first(),
            (1, 1, 1)
        )
        table.update().values(option=2, plain=2, union=2).execute()
        eq_(
            testing.db.execute(table.select()).first(),
            (2, 2, 2)
        )
开发者ID:m32,项目名称:sqlalchemy,代码行数:25,代码来源:test_dialect.py

示例7: test_quoted_column_unicode

    def test_quoted_column_unicode(self):
        metadata = self.metadata
        table = Table("atable", metadata,
                      Column(u("méil"), Unicode(255), primary_key=True))
        metadata.create_all()

        table.insert().execute(
            {u('méil'): u('’é')},
        )
        result = testing.db.execute(
            table.select().where(table.c[u('méil')] == u('’é'))
        ).scalar()
        eq_(result, u('’é'))
开发者ID:m32,项目名称:sqlalchemy,代码行数:13,代码来源:test_dialect.py

示例8: test_insertid_reserved

    def test_insertid_reserved(self):
        meta = MetaData(testing.db)
        table = Table(
            'select', meta,
            Column('col', Integer, primary_key=True)
        )
        table.create()

        meta2 = MetaData(testing.db)
        try:
            table.insert().execute(col=7)
        finally:
            table.drop()
开发者ID:Attsun1031,项目名称:sqlalchemy,代码行数:13,代码来源:test_query.py

示例9: test_quoted_column_non_unicode

    def test_quoted_column_non_unicode(self):
        metadata = self.metadata
        table = Table("atable", metadata,
                      Column("_underscorecolumn",
                             Unicode(255),
                             primary_key=True))
        metadata.create_all()

        table.insert().execute(
            {'_underscorecolumn': u('’é')},
        )
        result = testing.db.execute(
            table.select().where(table.c._underscorecolumn == u('’é'))
        ).scalar()
        eq_(result, u('’é'))
开发者ID:m32,项目名称:sqlalchemy,代码行数:15,代码来源:test_dialect.py

示例10: test_update_returning

    def test_update_returning(self):
        meta = MetaData(testing.db)
        table = Table('tables', meta,
            Column('id', Integer, primary_key=True),
            Column('persons', Integer),
            Column('full', Boolean)
        )
        table.create()
        try:
            table.insert().execute([{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])

            result = table.update(table.c.persons > 4, dict(full=True), postgres_returning=[table.c.id]).execute()
            self.assertEqual(result.fetchall(), [(1,)])

            result2 = select([table.c.id, table.c.full]).order_by(table.c.id).execute()
            self.assertEqual(result2.fetchall(), [(1,True),(2,False)])
        finally:
            table.drop()
开发者ID:jrus,项目名称:sqlalchemy,代码行数:18,代码来源:postgres.py

示例11: test_extract_expression

 def test_extract_expression(self):
     meta = MetaData(testing.db)
     table = Table('test', meta,
                   Column('dt', DateTime),
                   Column('d', Date))
     meta.create_all()
     try:
         table.insert().execute(
             {'dt': datetime.datetime(2010, 5, 1, 12, 11, 10),
              'd': datetime.date(2010, 5, 1)})
         rs = select([extract('year', table.c.dt),
                      extract('month', table.c.d)]).execute()
         row = rs.first()
         assert row[0] == 2010
         assert row[1] == 5
         rs.close()
     finally:
         meta.drop_all()
开发者ID:cpcloud,项目名称:sqlalchemy,代码行数:18,代码来源:test_functions.py

示例12: test_delete_returning

    def test_delete_returning(self):
        meta = MetaData(testing.db)
        table = Table('tables', meta,
            Column('id', Integer, Sequence('gen_tables_id'), primary_key=True),
            Column('persons', Integer),
            Column('full', Boolean)
        )
        table.create()
        try:
            table.insert().execute([{'persons': 5, 'full': False}, {'persons': 3, 'full': False}])

            result = table.delete(table.c.persons > 4, firebird_returning=[table.c.id]).execute()
            eq_(result.fetchall(), [(1,)])

            result2 = select([table.c.id, table.c.full]).order_by(table.c.id).execute()
            eq_(result2.fetchall(), [(2,False),])
        finally:
            table.drop()
开发者ID:gajop,项目名称:springgrid,代码行数:18,代码来源:test_firebird.py

示例13: test_compiled_insert

    def test_compiled_insert(self):
        table = Table('testtable', metadata,
            Column('id', Integer, primary_key=True),
            Column('data', String(30)))

        metadata.create_all()

        ins = table.insert(values={'data':bindparam('x')}).compile()
        ins.execute({'x':"five"}, {'x':"seven"})
        assert table.select().execute().fetchall() == [(1, 'five'), (2, 'seven')]
开发者ID:jrus,项目名称:sqlalchemy,代码行数:10,代码来源:postgres.py

示例14: test_extract_expression

 def test_extract_expression(self):
     meta = MetaData(testing.db)
     table = Table("test", meta, Column("dt", DateTime), Column("d", Date))
     meta.create_all()
     try:
         table.insert().execute(
             {
                 "dt": datetime.datetime(2010, 5, 1, 12, 11, 10),
                 "d": datetime.date(2010, 5, 1),
             }
         )
         rs = select(
             [extract("year", table.c.dt), extract("month", table.c.d)]
         ).execute()
         row = rs.first()
         assert row[0] == 2010
         assert row[1] == 5
         rs.close()
     finally:
         meta.drop_all()
开发者ID:vrajmohan,项目名称:sqlalchemy,代码行数:20,代码来源:test_functions.py

示例15: go

        def go():
            # execute with explicit id
            r = table.insert().execute({'id':30, 'data':'d1'})
            assert r.last_inserted_ids() == [30]

            # execute with prefetch id
            r = table.insert().execute({'data':'d2'})
            assert r.last_inserted_ids() == [1]

            # executemany with explicit ids
            table.insert().execute({'id':31, 'data':'d3'}, {'id':32, 'data':'d4'})

            # executemany, uses SERIAL
            table.insert().execute({'data':'d5'}, {'data':'d6'})

            # single execute, explicit id, inline
            table.insert(inline=True).execute({'id':33, 'data':'d7'})

            # single execute, inline, uses SERIAL
            table.insert(inline=True).execute({'data':'d8'})
开发者ID:jrus,项目名称:sqlalchemy,代码行数:20,代码来源:postgres.py


注:本文中的sqlalchemy.sql.table.insert函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。