Welcome 微信登录

首页 / 数据库 / MySQL / Python使用MySQL数据库

1.安装mysql
sudo apt-get install mysql-server
Sudo apt-get install mysql-client2.安装MySQL-python驱动
sudo apt-get install mysql-python3.测试是否安装成功
python解释器命令下运行 import MySQLdb
没有报错,说明安装已成功。4.python使用mysql数据库常见操作 exmysql.py# -*- coding: utf-8 -*-                                                                                                                               
import MySQLdbtry:
        #mysql连接
        conn = MySQLdb.connect(host="localhost",user="root",passwd="password",port=3306,charset="utf8")
   
        #创建游标
        cur = conn.cursor()
   
        #创建数据库
        cur.execute("create database if not exists  pythondb")        #切换到数据库
        conn.select_db("pythondb")          #创建表
        cur.execute("create table student(id int,name varchar(20),age int)")        #插入单条数据
        cur.execute("insert into student values(9,"张三",28)")        #插入多条数据
        cur.execute("insert into student values(2,"shijingjing08",21),(3,"shijingjing09",30),(4,"shijingjing10",12)")        #更新数据
        cur.execute("update student set age=27 where name="shijingjing07" ")        #删除数据
        cur.execute("delete from student where name="shijingjing10" ")        #查找数据
        count = cur.execute("select * from student ")
        print "总条数"
        print count        result = cur.fetchone()
        print "查找一条"
        print result        results = cur.fetchmany(5)
        print "查找多条"
        for r in results:
                print r        cur.scroll(0,mode="absolute")        #游标定位到表中第一条数据
        results = cur.fetchall()        print "查找所有数据,第二列的值"
        for r in results:
                print r[1]        #在再次执行select查询返回结果集时,需要执行nextset()操作,移动到下一结果集,否则会报2014错误
        cur.nextset()
               #执行存储过程的两种方法
        #cur.execute("call get_student("shijingjing",20)")
        cur.callproc("get_student",("shijingjing",20))
        print "执行存储过程"
        data=cur.fetchall()
        for d in data:
                print d       
        #关闭游标
        cur.close()
       
        #提交
        conn.commit()
        #关闭数据库连接
        conn.close()except MySQLdb.Error,e:
        print "Mysql Error %d:%s"%(e.args[0],e.args[1]) 存储过程get_student(in p_name varchar(20),in p_age int),输入name,age参数,模糊查找name,以及age>p_age的学生。delimiter $
create procedure get_student(in p_name varchar(20),in p_age int)
   begin
          select * from student where name like concat(p_name,"%") and age>p_age;
   end;
$5.运行结果:6.常用的操作:
commit() 提交
rollback() 回滚callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
nextset(self):移动到下一个结果集fetchall(self):接收全部的返回结果行.
fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
fetchone(self):返回一条结果行.
scroll(self, value, mode="relative"):移动指针到某一行.如果mode="relative",则表示从当前所在行移动value条,如果 mode="absolute",则表示从结果集的第一行移动value条. Ubuntu下设置MySQL字符集为utf8Redis的安装配置相关资讯      Python使用MySQL数据库  本文评论 查看全部评论 (0)
表情: 姓名: 字数