Esempio n. 1
0
def table_insert():
    # 取得session对象
    session = get_session()
    # 创建 Course类实例
    course_obj = Course(course_name='Python', teacher_name='Teacher liu', class_times=32)
    # 添加对象
    session.add(course_obj)
    # 事务提交
    session.commit()
Esempio n. 2
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).filter(text("course_name='MySQL'")).all()
    for item in query_result:
        print(f'查询结果为==>{item}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).all()
    for item in query_result:
        print(f'查询结果为==>{item}')  #这种写法不是很熟
Esempio n. 4
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 使用 is null
    query_result = session.query(Course).filter(Course.teacher_name is None)
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 5
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).filter(Course.course_name == 'Python')
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 6
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询,查找course表中course_name不等于MySQL的记录
    query_result = session.query(Course).filter(Course.course_name != 'MySQL')
    for item in query_result:
        print(f'查询结果为==>{item}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # not in查询,
    query_result = session.query(Course).filter(~Course.teacher_name.in_(['Teacher Wang', 'Teacher Zhang']))
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 8
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 使用 or_()
    query_result = session.query(Course).\
        filter(or_(Course.teacher_name == 'Teacher Wang', Course.course_name == 'SQLAlchemy'))
    for item in query_result:
        print(f'查询结果为==>{item}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    # query_result = session.query(func.count(Course.course_name), Course.course_name).group_by(Course.course_name).all()
    # query_result = session.query(func.count('*')).select_from(Course).scalar()
    query_result = session.query(func.count(Course.id)).scalar()
    print(f'查询结果为==>{query_result}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).\
        from_statement(text("SELECT * FROM course WHERE course_name='MySQL'"))
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 11
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).\
        filter(text("teacher_name=:t_name and course_name=:c_name")).\
        params(t_name='Teacher Wang', c_name='MySQL').all()
    for item in query_result:
        print(f'查询结果为==>{item}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据记录统计
    # query_result = session.query(Course).count()
    # 数据记录统计
    # query_result = session.query(func.count('*')).select_from(Course).scalar()
    # 数据记录统计
    query_result = session.query(func.count(Course.id)).scalar()
    print(f'查询结果为==>{query_result}')
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 返回多于一个查询结果
    # query_result = session.query(Course).one()
    # 没有查询结果
    # query_result = session.query(Course).filter(Course.course_name == 'Python').one()
    # 返回一个查询结果
    query_result = session.query(Course).filter(Course.course_name == 'MySQL').one()
    print(f'查询结果为==>{query_result}')
Esempio n. 14
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 全模糊匹配,teacher_name中包含 Wang 这个字符串记录都查询出来
    # query_result = session.query(Course).filter(Course.teacher_name.like('%Wang%'))
    # 右模糊匹配,teacher_name中包含以 Wang 这个字符串开头的记录都查询出来
    # query_result = session.query(Course).filter(Course.teacher_name.like('Wang%'))
    # 左模糊匹配,teacher_name中包含以 Wang 这个字符串结尾的记录都查询出来
    query_result = session.query(Course).filter(
        Course.teacher_name.like('%Wang'))
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 15
0
def table_insert():
    # 取得session对象
    session = get_session()
    # 创建 Course类实例
    course_obj_1 = Course(course_name='MySQL',
                          teacher_name='Teacher Wang',
                          class_times=32)
    course_obj_2 = Course(course_name='PyMySQL',
                          teacher_name='Teacher Zhang',
                          class_times=32)
    course_obj_3 = Course(course_name='SQLAlchemy',
                          teacher_name='Teacher Gao',
                          class_times=32)
    # 添加多个对象
    session.add_all([course_obj_1, course_obj_2, course_obj_3])
    # 事务提交
    session.commit()
Esempio n. 16
0
def table_query():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 方法一:使用 and_()
    query_result = session.query(Course).\
        filter(and_(Course.teacher_name == 'Teacher Wang', Course.course_name == 'MySQL'))
    # 方法二:在filter()中设置多个表达式
    query_result = session.query(Course).\
        filter(Course.teacher_name == 'Teacher Wang', Course.course_name == 'MySQL')
    # 方法三:使用多个filter()
    query_result = session.query(Course).filter(Course.teacher_name == 'Teacher Wang').\
        filter(Course.course_name == 'MySQL')
    for item in query_result:
        print(f'查询结果为==>{item}')
Esempio n. 17
0
def table_delete():
    """
    表数据查询
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    course_obj = session.query(Course).filter(
        Course.course_name == 'Python').first()
    # print(course_obj)
    print(f'删除前==>{course_obj}')
    # 数据删除
    session.delete(course_obj)
    session.commit()

    course_obj = session.query(Course).filter(
        Course.course_name == 'Python').first()
    print(f'删除后==>{course_obj}')
Esempio n. 18
0
def table_update():
    """
    数据查询并修改
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    query_result = session.query(Course).filter(Course.course_name == 'Python')
    for item in query_result:
        print(f'查询结果为==>{item}')
        print(f'item对象的类型为:{type(item)}')
        print(f'更改前:teacher_name={item.teacher_name}')
        # 将 Teacher liu 更改为 Teacher LI
        item.teacher_name = 'Teacher LI'
        session.add(item)
        session.commit()

    query_result = session.query(Course).filter(Course.course_name == 'Python')
    for item in query_result:
        print(f'更改后:teacher_name={item.teacher_name}')
Esempio n. 19
0
def table_update():
    """
    数据查询并修改
    :return:
    """
    # 取得session对象
    session = get_session()
    # 数据查询
    course_obj = session.query(Course).filter(
        Course.course_name == 'Python').first()
    print(course_obj)
    print(type(course_obj))
    print(f'更改前:teacher_name={course_obj.teacher_name}')
    # 将 Teacher LI 更改为 Teacher LIU
    course_obj.teacher_name = 'Teacher LIU'
    session.add(course_obj)
    session.commit()

    course_obj = session.query(Course).filter(
        Course.course_name == 'Python').first()
    print(course_obj)
    print(f'更改后:teacher_name={course_obj.teacher_name}')