Introdução ao Python Reptile Dia5

python réptil

Este artigo leva cerca de dez minutos para assistir


Python como o presente, a linguagem mais popular para rastreamento e análise de rede de dados em massa, python melhor.

interface de banco de dados padrão do Python para o Python DB-API, Python DB-API fornece um aplicativo de banco de dados interface de programação para desenvolvedores. Aqui eu principalmente introduzir python operação MySQL, executar instruções SQL, obter conjuntos de resultados, percorrer o conjunto de resultados, procurando obter um campo, obter o nome do campo de tabela, inserir a imagem em uma variedade de banco de dados de código de exemplo, e executar transações e outros detalhes.


1, banco de dados conhecido

# 连接数据库
from sqlalchemy import create_engine
engine = create_engine(
    "mysql+pymysql://root:1990@localhost:3306/test?charset=utf8",
    echo=True)

# 创建数据表方法一
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

class mytable(Base):
    # 表名
    __tablename__ = 'mytable'
    # 字段,属性
    id = Column(Integer, primary_key=True)
    name = Column(String(50), unique=True)
    age = Column(Integer)
    birth = Column(DateTime)
    class_name = Column(String(50))

Base.metadata.create_all(engine)

# 创建数据表方法二
from sqlalchemy import Column, MetaData, ForeignKey, Table
from sqlalchemy.dialects.mysql import (INTEGER, CHAR)
meta = MetaData()
myclass = Table('myclass', meta,
                Column('id', INTEGER, primary_key=True),
                Column('name', CHAR(50), ForeignKey(mytable.name)),
                Column('class_name', CHAR(50))
                )
myclass.create(bind=engine)

# 删除数据表
#myclass.drop(bind=engine)
#Base.metadata.drop_all(engine)
###########
get_data = session.query(mytable).filter_by(id=1).first()
get_data.class_name = '三年级三班'
session.commit()
session.close()

# 查询myclass全部数据
get_data = session.query(myclass).all()
for i in get_data:
    print('我的名字是:' + i.name)
    print('我的班级是:' + i.class_name)
session.close()
#################################

get_data = session.query(myclass.name, myclass.class_name).all()
for i in get_data:
    print('我的名字是:' + i.name)
    print('我的班级是:' + i.class_name)
session.close()
#################################

# 根据条件查询某条数据
# 筛选方法一:
# get_data = session.query(myclass).filter(myclass.id==1).all()
# 筛选方法二:
get_data = session.query(myclass).filter_by(id=1).all()
print('数据类型是:' + str(type(get_data)))
for i in get_data:
    print('我的名字是:' + i.name)
    print('我的班级是:' + i.class_name)
#################################

get_data = session.query(myclass).filter_by(id=1).first()
print('数据类型是:' + str(type(get_data)))
print('我的名字是:' + get_data.name)
print('我的班级是:' + get_data.class_name)
#################################

get_data = session.query(mytable).filter(mytable.id >= 2, 
             mytable.class_name == '三年级二班').first()
print('数据类型是:' + str(type(get_data)))
print('我的名字是:' + get_data.name)
print('我的班级是:' + get_data.class_name)
#################################

# 内连接
get_data = session.query(mytable).join(myclass).filter(mytable.class_name == '三年级二班').all()
print('数据类型是:' + str(type(get_data)))
for i in get_data:
    print('我的名字是:' + i.name)
    print('我的班级是:' + i.class_name)
# 外连接
get_data = session.query(mytable).outerjoin(
             myclass).filter(mytable.class_name == '三年级二班').all()
#################################

sql = 'select * from mytable '
session.execute(sql)
# 如果涉及更新,添加数据,需要session.commit()
session.commit()

2, ligado a um banco de dados local

import pymongo
# 创建对象,连接本地数据库。
# 方法一:
client = pymongo.MongoClient()
# 方法二:
client = pymongo.MongoClient('localhost', 27017)
# 方法三:
client = MongoClient('mongodb://localhost:27017/')
# 连接DB数据库
db = client['DB']
# 连接集合user,集合类似关系数据库的数据表
# 如果集合不存在,会新建集合user
user_collection = db.user
# 设置文档格式(文档即我们常说的数据)

3, a autenticação do utilizador

import pymongo
# 用户验证方法一
client = pymongo.MongoClient()
db_auth = client.admin
db_auth.authenticate(username, password)
# 连接DB数据库
db = client['DB']
# 用户验证方法二
client = MongoClient('mongodb://username:password@localhost:27017/')
# 连接DB数据库
db = client['DB']

4, leitura banco de dados e gravação

import pymongo
import datetime
import re
# 创建对象
client = pymongo.MongoClient()
# 连接DB数据库
db = client['DB']
# 连接集合user,集合类似关系数据库的数据表
# 如果集合不存在,会新建集合user
user_collection = db.user
# 设置文档格式(文档即我们常说的数据)
user_info = {
	    "_id": 100,
	    "author": "小黄",
         "text": "Python爬虫开发",
         "tags": ["mongodb", "python", "pymongo"],
         "date": datetime.datetime.utcnow()}

# 使用insert_one单条添加文档,inserted_id获取写入后id
# 添加文档时,如果文档尚未包含"_id"键,则会自动添加"_id"。 "_id"的值在集合中必须是唯一。
# inserted_id是获取添加后的id,若不需要可去掉。
user_id = user_collection.insert_one(user_info).inserted_id
print ("user id is ", user_id)

#批量添加
user_infos = [{
	    "_id": 101,
	    "author": "小黄",
         "text": "Python爬虫开发",
         "tags": ["mongodb", "python", "pymongo"],
         "date": datetime.datetime.utcnow()},
	 {
	    "_id": 102,
	    "author": "小黄_A",
         "text": "Python爬虫开发_A",
         "tags": {"db":"Mongodb", "lan":"Python", "modle":"Pymongo"},
         "date": datetime.datetime.utcnow()},
		 ]
# inserted_ids是获取添加后的id,若不需要可直接去掉。
user_id = user_collection.insert_many(user_infos).inserted_ids
print ("user id is ", user_id)
Publicado 14 artigos originais · ganhou elogios 35 · vista 1740

Acho que você gosta

Origin blog.csdn.net/qq_45414559/article/details/105362415
Recomendado
Clasificación