Python学习_26 python练习


Python学习_26 python练习
python练习
需求:把一个英文单词表插入数据库,然后可以查询
1、创建表
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\5\31 0031 1:13
# @Author  : xiexiaolong
# @File    : createtable.py
import codecs
from sqlalchemy import Column, MetaData, Table
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+ pymysql://yanzi:yanzi1097@193.112.92.65/yanzi ')
metadata = MetaData(engine)
dictionary = Table('dictionary', metadata,
             Column('id', Integer, primary_key=True),
             Column('key', String(50)),
             Column('value', String(50))
             )
metadata.create_all(engine)
2、插入数据库
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\5\31 0031 1:32
# @Author  : xiexiaolong
# @File    : insertdatas.py
import codecs
from sqlalchemy import Integer, Column, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+ pymysql://yanzi:yanzi1097@193.112.92.65/yanzi?charset=utf8 ')
Base = declarative_base()
class Dictionary(Base):
    __tablename__ = 'dictionary'
    id = Column(Integer, primary_key=True)
    key = Column(String(50))
    value = Column(String(50))
DBSession = sessionmaker(bind=engine)
session = DBSession()
class HandleData(object):
    def __init__(self, dataFile):
        self.dataFile = dataFile
    def make_data_to_str(self):
        with codecs.open(self.dataFile, encoding='utf-8') as file:
            for (num, value) in enumerate(file):
                line = value.strip().split()
                diction = Dictionary(id=num + 1, key=line[0], value=line[1])
                session.add(diction)
handleData = HandleData('dictionary.txt')
handleData.make_data_to_str()
session.close()
3、查询
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\5\31 0031 1:34
# @Author  : xiexiaolong
# @File    : selectData.py
from sqlalchemy import create_engine, Integer, Column, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+ pymysql://yanzi:yanzi1097@193.112.92.65/yanzi?charset=utf8 ')
Base = declarative_base()
class Dictionary(Base):
    __tablename__ = 'dictionary'
    id = Column(Integer, primary_key=True)
    key = Column(String(50))
    value = Column(String(50))
DBSession = sessionmaker(bind=engine)
session = DBSession()
word = input("please input your a word:")
result =session.query(Dictionary).filter(Dictionary.key.like("%{0}%".format(word))).all()
for each in result:
    print(each.id, each.key, each.value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值