2 .什么是ORM
<李>
ORM(对象关系映射)就是把数据库表的行与相应的对象建立关联,互相转换;
李>
<李>
目前,最知名的Python ORM是SQLAlchemy和SQLobject;
李>
>之前
我们现在命令工具中查看一下数据库中有没有我们想要的老师表,上一篇文章中讲过,先登录mysql:
<代码>
mysql -uzengzeng -p123456
代码>
,然后进入我们要使用的数据库:
<代码>
使用XKD_Python_Course
代码>
我,们先通过:
<代码>
显示表;
代码>
查看一下数据库中的表,发现没有老师表
那现在就可以执行代码,创建数据库了,创建好后我们可以在命令行查看一下:
<代码>
显示表;
代码>
老师,发现表已经存在了,创建表成功是的!
想要删除刚刚创建的表,可以使用
<代码>
drop_all ()
代码>
方法,执行代码,再查看数据库表,就可以看老师表已经被删除了
<前>
<代码>
Base.metadata.drop_all(引擎)
代码>
>之前
<李>
<强>
插入数据
>强
使用
<代码>
session.add_all ()
代码>
方法;
李>
<前>
<代码>
从sqlalchemy进口create_engine
从sqlalchemy.ext.declarative进口declarative_base
从sqlalchemy导入列、整数、字符串
sqlalchemy。orm进口sessionmaker
基?declarative_base ()
班主任(基础):
__tablename__='老师'
id=列(整数,primary_key=True,自动增量=True)
(String name=列(255))
年龄=列(整数)
def __repr__(自我):
#打印(self.__dict__)
返回" id=? s”, name=' % s ',年龄=' % s“%(自我。id、self.name self.age)
__str__=__repr__
主机=' localhost '
端口=3306
用户名=' zengzeng '
密码=' 123456 '
db=' XKD_Python_Course '
connect_str=' mysql + mysqldb://{}: {} @ {}: {}/{}”。格式(用户名、密码、主机、端口、db)
引擎=create_engine (connect_str回声=True)
#创建会话,用于提交数据
会话=sessionmaker(绑定=引擎)
会话=会话()
#创建多行行实例,给表添加数据
试一试:
lst=[]
因为我在范围(10):
老师=老师()
teacher.name=' zengzeng ' + str(我)
老师。年龄我=20 +
lst.append(老师)
打印(老师)
# session.add(学生)可以添加一行记录,也可以添加多行记录
#注意:这里将行记录实例添加到会话,不会提交,需要手动提交
session.add_all (lst)
除了例外e:
打印(“~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~”* 200)
session.rollback ()
打印(e)
最后:
session.commit ()