python操作三大数据库(一)---------------mysql
2018-11-23 16:44
441 查看
所有操作之前需要先安装mysql模块pymysql
连接mysql
import pymysql #建立连接 conn=pymysql.connect(host=’127.0.0.1’,port=3306,user=’root’,passwd=’123456’,db=’xxxx’,charset=’utf8’) #生成游标 cur = conn.cursor() #添加sql语句 sql=’CREATE TABLE teacher(id INT NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL,PRIMARY KEY (id))’ #执行sql语句 cur.execute(sql) cur.close() conn.close() ''' connect()参数解释 host:连接的mysql主机,本机localhost prot:连接的mysql主机的端口,默认是3306 db:要连接的数据库名称 user:连接的用户名 passwd:连接的密码 charset:通信采用的编码方式 '''
connect对象
close()关闭连接
commit() 事务,需要提交才会生效
rollback()事务,放弃之前的操作
cursor()返回cursor对象,用于执行sql语句并获得结果
cursor对象
close()关闭
execute()执行语句,返回受影响的行数
fetchone()执行查询语句时,获取查询结果集的第一行数据,返回一个元组
fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
next() 执行查询语句时,获取当前行的下一行
scroll() 将行指针移动到某个位置
参数传入
如果想在sql语句中传参,可以这样写
name='xxx' cur.execute('insert into student(name) values(%s)',[name])
实例:用户登陆
table userinfos(
id int primary key auto_increment,
uname varchar(20),
upwd char(40),
isdelete bit default 0
);
#coding=utf-8 import pymysql class MysqlHelper: def __init__(self,host='localhost',port=3306,db='demo', user='root',passwd='123456',charset='utf8'): self.conn=pymysql.connect(host=host,port=port,db=db,user=user,passwd=passwd,charset=charset) def insert(self,sql,params): return self.__cud(sql,params) def update(self,sql,params): return self.__cud(sql,params) def delete(self,sql,params): return self.__cud(sql,params) def __cud(self,sql,params=[]): try: cs1 = self.conn.cursor() rows=cs1.execute(sql, params) self.conn.commit() cs1.close() self.conn.close() return rows except Exception as e: print (e) self.conn.rollback() def fetchone(self,sql,params=[]): try: cs1=self.conn.cursor() cs1.execute(sql,params) row=cs1.fetchone() cs1.close() self.conn.close() return row except Exception as e: print (e) def fetchall(self,sql,params): try: cs1=self.conn.cursor() cs1.execute(sql,params) rows=cs1.fetchall() cs1.close() self.conn.close() return rows except Exception as e: print (e)
from mysql import mysqlObject #创建用户 name = input("请输入姓名:") pwd = input("请输入密码:") param=[name,pwd] sql='insert into userinfo(name,pwd) values(%s,%s)' sqlObj = mysqlObject.MysqlHelper('localhost',3306,'demo','root','123456','utf8') sqlObj.insert(sql,param) #登陆用户 name = input("请输入姓名:") pwd = input("请输入密码:") sql='select pwd from userinfo where name=%s' param=[name] result = sqlObj.fetchone(sql,param) if result==None: print('用户名错误') elif result[0]==pwd: print('登陆成功') else: print('密码错误')阅读更多
相关文章推荐
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
- python操作三大主流数据库(3)python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用
- 数据库之python+MySQL基本操作
- python 如何操作mysql 数据库
- python 安装操作 MySQL 数据库.
- python3+ 连接并操作mysql 数据库,支持读写分离
- Python MYSQL - tiny ETL tool - 文件操作和数据库操作
- python 操作数据库 OperationalError: (2006, 'MySQL server has gone away') 解决方法
- Python Mysql 数据库操作
- Python操作数据库之 MySQL
- python 操作mysql 数据库
- 数据库-python操作mysql(pymsql)
- python中连接三大主流数据库mysql,mongodb,redis
- python 操作 MySql 数据库
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- python django 增删改查操作 数据库Mysql
- python数据库(mysql)操作
- Python mysql 数据库操作
- Python笔记day42(MySQL)|数据库操作、数据表操作、表内容操作、数据类型