python ORM é usado para operar o banco de dados - a criação de uma tabela de associação

A, Descrição ORM:
cheio; objecto relacional mapeamento objeto-relacional Mapeamento
Mapeamento uma classe no pitão como a tabela de base de dados, uma classe é uma tabela de mapeamento atributo, a classe de tabela para o campo, o código python correspondente traduzida em instrução SQL .

1, as vantagens:

(1) reduzir o acoplamento
(2), os desenvolvedores só precisa se concentrar na lógica de negócios, desenvolvedores de reduzir o esforço de desenvolvimento

2, deficiências "

(1) reduzir a eficiência da consulta
(2), método ORM restrito, não é fácil escrever consultas complexas

3, instalada
no ORM python, SQLAlchemy ou seja, inspirado no quadro Django ORM
primeiro instalar pymysql, porque se baseia biblioteca pymysql:
a linha de comando:
PIP PyMySQL a instalação
PIP SQLAlchemy a instalação

Nota: Se você definir a variável de ambiente não é bom diretório script python comando pip não está configurado com instruções para o caminho caminho variável de ambiente no

erro de tempo limite pode tentar este comando no pip:
Aqui Insert Picture Descrição
Aqui estão algumas dicas que eu tenha instalado, não tinha instalado, consulte o comando acima

Se as bibliotecas sqlalchemy são instalados na linha de comando, mas PyCharm não são exibidos, faça o seguinte;
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
assim você verá apenas duas bibliotecas na linha de comando para instalá-lo

Ado, directamente sobre o código:
1, no módulo
Aqui Insert Picture Descrição
2, e criar uma ligação para a base de dados:
Aqui Insert Picture Descrição

Aqui "mysql: // scott: Tigre de @ hostname / dbname", é explicado no método create_engine, pressione Ctrl + botão esquerdo do mouse, você pode ir para ver o
Aqui Insert Picture Descrição
achado no início da url mysql:
scott: Seu nome de dados, não virar, em seguida, é a raiz
Tiger: senha do banco
hostname: ip endereço
dbname: nome do banco

Aqui eu uso uma conexão de banco de dados local:

db = sqlalchemy.create_engine ( “mysql: // root: 12345678 @ localhost / 1708a”)

3, criar uma classe base:
Aqui Insert Picture Descrição
colocar o parâmetro db fazer apenas uma conexão de banco de dados, o valor de retorno é passado base, usado para criar a tabela

4, adicione a tabela primária associada à classe tabela:

Aqui Insert Picture Descrição
Note-se que, aqui na tabela primária associada, única maneira Integer

5, criar a tabela:
Aqui Insert Picture Descrição
na função principal, com a classe base .create_all .metadata () de um modo para criar uma tabela de todas as herda classe base

6, execute o código, consulte os resultados no banco de dados:
Aqui Insert Picture Descrição
Depois de executar:
Aqui Insert Picture Descrição

Resumo:
Vantagens:
1, operação conveniente, conectado python mysql melhor do que convencional com estes (módulo pymysql)
2 como um programador usado para escrever e ORM mais ágil se encontram pensou programadores
3, pacote construído , fáceis as operações módulo CRUD:
método de classe sessionmaker no módulo de classe vai -sqlalchemy.orm
4, o quadro principal como a tabela de associação, na base de dados, eliminar apenas ser suprimido após a conclusão da tabela primária associada a mesa.
5, usando ORM modo, o cursor é fechado e não requer banco de dados
6, necessidade de lembrar que a declaração mysql sql como, se apenas a fazer uma operação simples, é o ORM preferido
7, após repetidas criação de uma tabela, ele não seria os dados originais na tabela tampa, mas não fazem nada

Desvantagens:
1, associadas com a tabela primária associada com a tabela só permite o uso Integer forma de realização, não reconhece cadeia associada
2, requer um certo pitão de base, é para ser entendido aulas, relação de herança

Este artigo vem de grupo de teste automatizado: 762 141 168, se há algo de errado com ele, bem-vindo para explorar.
Próximo a você sobre as operações de CRUD ORM

Publicado 10 artigos originais · ganhou elogios 13 · vista 402

Acho que você gosta

Origin blog.csdn.net/weixin_46457203/article/details/104940540
Recomendado
Clasificación