Python操作数据库的常用命令 #导入模块 import pymysql #连接数据库,得到Connection对象 conn = pymysql.connect(host='127.0.0.1',port=3306, user='root', charset='utf8',passwd = "leo123123", db='day26db') #从Connection对象生成Cursor对象 cursor = conn.cursor(); #使用Cursor对象进行数据添加(需要commit) cursor.execute("insert into data(name, age, email) values ('William', 47,'William@qq.com')") conn.commit(); #使用Cursor对象进行数据删除(需要commit) cursor.execute("delete from data where name = 'William'") conn.commit(); #使用Cursor对象进行数据修改(需要commit) cursor.execute("update data set name=concat('SLQ-', name)") conn.commit(); #使用Cursor对象进行数据查询 cursor.execute('select * from data') #Cursor.fetchone()从查询结果中获取一条数据. #返回结果为一个元组, 无数据返回None result = cursor.fetchone(); #Cursor.fetchone()从查询结果中获取所有数据. #返回结果为一个嵌套的元组((行1),(行2),(行3)), 无数据返回空元组() result = cursor.fetchall(); #关闭连接 cursor.close() conn.close()
设计一段代码实现用户注册和登录的功能
#MYSQL中创建数据库 mysql> create database userdb default charset utf8 collate utf8_general_ci; mysql> create table userdb ( -> id int not null primary key auto_increment, -> name varchar(20) not null, -> password varchar(2) not null) default charset='utf8'; #Python代码 import pymysql def register_user(): print("用户注册") user = input("请输入用户名:") password = input("请输入密码:") conn = pymysql.connect(host='127.0.0.1', port=3306, \ user='root', charset="utf8", db="userdb") cursor = conn.cursor() slq = 'insert into user(name, password) values ("{}", "{}")'.format(user, password) cursor.execute(slq) conn.commit() cursor.close() conn.close() def login(): print("用户登陆") user = input("请输入用户名:") password = input("请输入密码:") conn = pymysql.connect(host='127.0.0.1', port=3306, \ user='root', passwd = 'pass123', charset="utf8", db="userdb") cursor = conn.cursor() sql = 'select * from user where name="{}" and password = "{}"'.format(user, password) cursor.execute(sql) #使用cursor.fetchone(),要么返回数值,要么返回None。 #不可以fetchall,他永远都会返回元组,即使没有数据,也会返回一个空元组。 result = cursor.fetchone() print(result) cursor.close() conn.close() if result is None: print("登陆失败") else: print("登陆成功") def run(): choice = input('1.注册 2.登陆') if choice == "1": register_user() elif choice =="2": login() else: print('无效输入') if __name__ == '__main__': run()