热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:登陆+注册

本文由编程笔记#小编为大家整理,主要介绍了登陆+注册相关的知识,希望对你有一定的参考价值。多表查询练习1、查询所有的课程的名称以及对应的任课老师姓名SELECT course.cname, teach
本文由编程笔记#小编为大家整理,主要介绍了登陆+注册相关的知识,希望对你有一定的参考价值。

多表查询练习

1、查询所有的课程的名称以及对应的任课老师姓名

SELECT
course.cname,
teacher.tname
FROM
course
INNER JOIN teacher ON course.teacher_id = teacher.tid;

2、查询学生表中男女生各有多少人

SELECT
gender,
count( gender )
FROM
student
GROUP BY
gender
HAVING
count( gender );

3、查询物理成绩等于100的学生的姓名

SELECT
student.sid,
student.sname
FROM
student
INNER JOIN (
SELECT
*
FROM
score
WHERE
course_id = ( SELECT cid FROM course WHERE cname = ‘物理‘ )) AS t ON student.sid = t.student_id
WHERE
num = 100;

4、查询平均成绩大于八十分的同学的姓名和平均成绩

SELECT
student.sname,
t.avg_num
FROM
student
INNER JOIN
( SELECT score.student_id, avg( num ) AS avg_num FROM score GROUP BY score.student_id HAVING avg( num )> 80 ) AS t
ON student.sid = t.student_id;

5、查询所有学生的学号,姓名,选课数,总成绩

SELECT
student.sid,
student.sname,
sum_num,
course_count
FROM
student
INNER JOIN (
SELECT
student_id,
sum( num ) AS sum_num,
count( student_id ) AS course_count
FROM
score
GROUP BY
student_id
HAVING
count( student_id )
) AS t
ON student.sid = t.student_id;

6、 查询姓李老师的个数

SELECT
count( tname )
FROM
teacher
WHERE
tname LIKE ‘%李%‘;

7、 查询没有报李平老师课的学生姓名

SELECT
sid,
sname
FROM
student
WHERE
sid NOT IN (
SELECT DISTINCT
student_id
FROM
score
WHERE
course_id NOT IN (
SELECT
cid
FROM
course
WHERE
teacher_id = ( SELECT tid FROM teacher WHERE tname = ‘李平老师‘ )));

登陆及注册

# setting
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

# src
from interface.test_IF import login_IF,register_IF
# 登陆功能
def login():
while True:
username = input(‘name>>‘).strip()
password = input(‘password>>‘).strip()
# 调用登陆接口
flag,msg = login_IF(username,password)
if flag:
print(msg)
break
else:
print(msg)
# 注册功能
def register():
while True:
username = input(‘name>>‘).strip()
password = input(‘password>>‘).strip()
flag,msg = register_IF(username,password)
if flag:
print(msg)
break
else:
print(msg)
# 运行
def run():
func_dic = {
‘0‘:exit,
‘1‘:register,
‘2‘:login
}
print(‘‘‘
0 退出
1 注册
2 登陆

‘‘‘)
while True:
cmd = input(‘请输入命令编号>>‘).strip()
if cmd not in func_dic:
continue
func_dic.get(cmd)()

# db_handle
import pymysql
def select(username):
cOnn= pymysql.connect(
host=‘127.0.0.1‘,
port=3306,
database=‘practice‘,
user=‘root‘,
passwd=‘1026‘,
charset=‘utf8‘,
autocommit=True
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
sql = ‘select * from user where name=%s ‘
res = cursor.execute(sql,(username,))
if res:
return cursor.fetchone().get(‘password‘)
else:
return False
def save(username,password):
cOnn= pymysql.connect(
host=‘127.0.0.1‘,
port=3306,
database=‘practice‘,
user=‘root‘,
passwd=‘1026‘,
charset=‘utf8‘,
autocommit=True
)
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
sql = ‘insert into user(name,password) values(%s,%s)‘
res = cursor.execute(sql,(username,password))
if res:
return True

# modles
from data.db_handle import select,save
class Base:
@classmethod
def select_data(cls,name):
pwd = select(name)
return pwd
def save_data(self,username,pwd):
save(username,pwd)
class People(Base):
def __init__(self,name,password):
self.name = name
self.password = password

# test_IF
from data import modles
def login_IF(username,password):
pwd = modles.People.select_data(username)
if pwd:
if password == pwd:
return True,‘登陆成功‘
else:
return False,‘密码错误‘
else:
return False,‘登用户名不存在‘
def register_IF(username,password):
pwd = modles.People.select_data(username)
if pwd:
return False, ‘用户已存在‘
else:
obj = modles.People(username,password)
obj.save_data(username,password)
return True, ‘注册成功‘

# start
from core.src import run
if __name__ == ‘__main__‘:
run()

推荐阅读
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • yum安装_Redis —yum安装全过程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis—yum安装全过程相关的知识,希望对你有一定的参考价值。访问https://redi ... [详细]
author-avatar
果果干儿_116
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有