sqlalchemy mysql_如何使用sqlalchemy创建数据库mysql

bd96500e110b49cbb3cd949968f18be7.png

I need to create a db in mysql using sqlalchemy, I am able to connect to a db if it already exists, but I want to be able to create it if it does not exist. this are my tables:

#def __init__(self):

Base = declarative_base()

class utente(Base):

__tablename__="utente"

utente_id=Column(Integer,primary_key=True)

nome_utente=Column(Unicode(20))

ruolo=Column(String(10))

MetaData.create_all()

def __repr(self):

return "utente: {0}, {1}, id: {2}".format(self.ruolo,self.nome_utente,self.utente_id)

class dbmmas(Base):

__tablename__="dbmmas"

db_id=Column(Integer,primary_key=True,autoincrement=True)

nome_db=Column(String(10))

censimento=Column(Integer)

versione=Column(Integer)

ins_data=Column(DateTime)

mod_data=Column(DateTime)

ins_utente=Column(Integer)

mod_utente=Column(Integer)

MetaData.create_all()

def __repr(self):

return "dbmmas: {0}, censimento {1}, versione {2}".format(self.nome_db,self.censimento,self.versione)

class funzione(Base):

__tablename__="funzione"

funzione_id=Column(Integer,primary_key=True,autoincrement=True)

categoria=Column(String(10))

nome=Column(String(20))

def __repr__(self):

return "funzione:{0},categoria:{1},id:{2} ".format(self.nome,self.categoria,self.funzione_id)

class profilo(Base):

__tablename__="rel_utente_funzione"

utente_id=Column(Integer,primary_key=True)

funzione_id=Column(Integer,primary_key=True)

amministratore=Column(Integer)

MetaData.create_all()

def __repr(self):

l=lambda x: "amministratore" if x==1 else "generico"

return "profilo per utente_id:{0}, tipo: {1}, funzione_id: {2}".format(self.utente_id,l(self.amministratore),self.funzione_id)

class aree(Base):

__tablename__="rel_utente_zona"

UTB_id=Column(String(10), primary_key=True) # "in realta' si tratta della seatureSignature della feature sullo shapefile"

utente_id=Column(Integer, primary_key=True)

amministratore=Column(Integer)

MetaData.create_all()

def __repr(self):

l=lambda x: "amministratore" if x==1 else "generico"

return "zona: {0}, pe utente_id:{1}, {2}".format(self.UTB_id,self.utente_id,l(self.amministratore))

class rel_utente_dbmmas(Base):

__tablename__="rel_utente_dbmmas"

utente_id=Column(Integer,primary_key=True)

db_id=Column(Integer,primary_key=True)

amministratore=(Integer)

MetaData.create_all()

def __repr(self):

l=lambda x: "amministratore" if x==1 else "generico"

return "dbregistrato: {0} per l'utente{1} {2}".format(self.db_id,self.utente_id,l(self.amministratore))

解决方案

To create a mysql database you just connect to the server an create the database:

import sqlalchemy

engine = sqlalchemy.create_engine('mysql://user:password@server') # connect to server

engine.execute("CREATE DATABASE dbname") #create db

engine.execute("USE dbname") # select new db

# use the new db

# continue with your work...

of course your user has to have the permission to create databases.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值