标签:数据 对象关系映射 col elf 创建数据库 index 数据库 site mysq
object - Relation - mapping 对象关系映射
将数据库中的一张表table,通过某种方式,转换为python中的Class或者是Class实例化得到的对象。至于是通过何种方式,我们不必计较。然后使用orm操作数据库。
Class(object) - 某种方式 - table
与Django中的model的使用方法是一样的。
Django - Model
创建一个干净的环境
pip install SQLAlchemy
pip install pymysql
SQLAlchemy的使用方法与Django的ORM的使用方式相似,我们参考Django的使用方法进行操作。
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, INT, VARCHAR, String Base = declarative_base()
Base是ORM模型的基类。
ORM模型
- object里面的属性等同于table中创建的字段。
- Obj定义table的操作方式和属性。
class User(Base): __tablename__ = ‘student‘ id = Column(INT, primary_key=True, autoincrement=True) name = Column(String(32), index=True)
from sqlalchemy import create_engine engine = create_engine(‘mysql+pymysql://root:@127.0.0.1:3306/sqlalchemy?charset=utf8‘) # 注意:这里的utf8不能写成utf-8
这里要注意的是编码方式设置的部分utf8不能写成utf-8,否则将会报错。
Base.metadata.create_all(engine)
正确创建表完成后,会产生一个警告。这是正常的,警告如下:
C:\sqlalchemy\venv\lib\site-packages\pymysql\cursors.py:170: Warning: (1366, "Incorrect string value: ‘\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...‘ for column ‘VARIABLE_VALUE‘ at row 484") result = self._query(query)
在运行代码之前,需要先启动MySQL,然后手动创建数据库。
mysql -u root -p # 登录数据库
create database xxoo; # xxoo为数据库名称
原生sql语句
insert into 表名(字段名) values(值);
0
标签:数据 对象关系映射 col elf 创建数据库 index 数据库 site mysq
原文地址:https://www.cnblogs.com/ZN-225/p/10403704.html