Python结合sql登陆案例

一、创建表

用户表
1.主键    user_id   int 
2. 用户名   varchar
3. 密码     varchar
4. phone   char(11)
5. email    varchar
6. is_delete int


地址表
主键  aid
city   
detail  详细地址

1.创建用户表

create table user(
    user_id int(4) primary key auto_increment,    -- 创建主键(主表)
    username varchar(64),
    password varchar(64),
    phone char(11),
    email varchar(100),
    is_delete int(1)  -- 0表示正常,1表示删除
    )

2.插入用户信息

insert into user (username,password,phone,email,is_delete)
values('tom','123456','88888888888','[email protected]',0)

3.查询用户信息

select * 
from user
where username='tom' and password='123456'

4.创建地址表

create table address(
    aid int(4) primary key auto_increment,     -- 创建主键
    city varchar(64),
    detail varchar(64),
    create_date datetime,
    is_delete int(1),                     -- 设置假删除
        user_id int(4) not null,          -- 设置主键不为空
        constraint fk_address_userid foreign key(user_id) references user(user_id)  -- 将userid作为主表外键
)

5.插入地址信息

insert into address (city,detail,user_id,is_delete,create_date)
values('x市','xx街道x栋x楼',1,0, str_to_date('2018-08-08 12:12:12','%Y-%m-%d %H:%i:%s

6.查询地址信息

select * from address where user_id=1

二、使用python处理数据库

1.安装PYTHON插件

pip install pymysql
pip install pymysql -i http://pypi.douban.com/simple 

2.建立数据库连接

import pymysql         #导入pymysql
PORT = 3306            #数据库端口
HOST = '127.0.0.1'     #数据库服务地址
USER = 'root'          #数据库用户
PASSWORD = 'root'       #数据库密码
DB_NAME = 'demo1'       #数据库名称
conn = pymysql.connect(host=HOST,user=USER,port=PORT,password=PASSWORD,db=DB_NAME) 

3.创建游标对象

cursor = conn.cursor()        

4.执行SQL语句

sql = 'select username,user_id,password,email from user'      #执行sql语句
cursor.execute(sql)

5.操作SQL语句

results=cursor.fetchall()       #获取查询的所有数据(每行数据为一个对象,每行数据包含多个属性)  
for result in results:
    print('用户名:%s 用户ID:%s 用户密码:%s email:%s \n' %(result[0],result[1],result[2],result[3]))

6.释放资源

cursor.close()
conn.close()

7.判断用户输入是否正确

import pymysql
PORT = 3306
HOST = '127.0.0.1'
USER = 'root'
PASSWORD = 'root'
DB_NAME = 'demo1'
username=input("请输入用户名:\n")
password=input("请输入密码:\n")
with pymysql.connect(host=HOST,
                     user=USER,
                     port=PORT,
                     password=PASSWORD,
                     db=DB_NAME).cursor() as cursor:
    sql = "SELECT  *  FROM user WHERE username='%s'" % (username)
    cursor.execute(sql)
    results=cursor.fetchall()      #results=((第一行数据:username,user_id,password),(第一行数据:username,user_id,password))
    if results:
        if results[0][2]==password:
            print("登陆成功")
            print("欢迎来到首页")
        else:
            print("密码错误")
    else:
        print("用户名不存在")

猜你喜欢

转载自www.cnblogs.com/endmoon/p/9557151.html