Python 是否有一种简单/高效的方法动态创建mysql数据库';构建它';中国自身的结构';当它将名称/值对保存到光盘时?
是否有任何有效且简单的方法来执行类似于以下内容的语句:Python 是否有一种简单/高效的方法动态创建mysql数据库';构建它';中国自身的结构';当它将名称/值对保存到光盘时?,python,mysql,dynamic,Python,Mysql,Dynamic,是否有任何有效且简单的方法来执行类似于以下内容的语句: CREATE TABLE IF NOT EXISTS fubar ( id int, name varchar(80)) 当您执行insert语句时,为列指定 我想这会复杂得多,但为了解释,我想我在寻找像 IF NOT EXISTS ( SELECT * FROM information_schema.COLUMNS WHERE COLUMN_NAME='new_column' AND TABLE_NAME='
CREATE TABLE IF NOT EXISTS fubar ( id int, name varchar(80))
当您执行insert语句时,为列指定
我想这会复杂得多,但为了解释,我想我在寻找像
IF NOT EXISTS
(
SELECT * FROM information_schema.COLUMNS
WHERE
COLUMN_NAME='new_column' AND
TABLE_NAME='the_table' AND
TABLE_SCHEMA='the_schema'
)
THEN
ALTER TABLE `the_schema`.`the_table`
ADD COLUMN `new_column` bigint(20) unsigned NOT NULL default 1;
或者,是否有一种python库可以处理该过程的方法
基本上,我希望“dictionary”的“id”定义列,如果它们不存在,则创建它们
我还希望数据库保持合理的效率,所以我想对数据类型进行一些动态处理也是必要的
只是想知道目前是否存在类似的情况,如果不寻求如何最好地实现它的建议……我相信您正在寻找一个对象关系映射系统 对于Python,有两种方法可用:
- 炼金术:
- SQLObject:
class Movie(Entity):
title = Field(Unicode(30))
year = Field(Integer)
description = Field(UnicodeText)
这是如何插入:
>>> Movie(title=u"Blade Runner", year=1982)
<Movie "Blade Runner" (1982)>
>>> session.commit()
>电影(片名=u“Blade Runner”,年份=1982)
>>>session.commit()
或获取结果:
>>> Movie.query.all()
[<Movie "Blade Runner" (1982)>]
>Movie.query.all()
[]