MySql教程

[MySQL & Python] 06. 使用Python进行数据操作

本文主要是介绍[MySQL & Python] 06. 使用Python进行数据操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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()
    
​

 

 

 

这篇关于[MySQL & Python] 06. 使用Python进行数据操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!