python下用mysqldb连接使用数据库

第一步:连接

import MySQLdb #首先需要引入mysqldb即Python 连接 MySQL 的模块。
conn=MySQLdb.connect(host="localhost",user="root",passwd="")#此处等价于缺省值时即conn=MySQLdb.connect()
cur = conn.cursor() #创建游标,用于发送sql指令 

这样就可以用游标cur发送sql指令给mysql了。

第二步:操作

1.创建数据库

cur.execute('create database adams')

再在mysql下查看一下,当然也可以直接在python中查看,但这里写一下如何在mysql下查看,便于两种环境的转换。

2.创建表

cur.execute('use adams') #表示接下来要使用数据库adams同mysql下的用法
cur.execute('create table test(ID int,name varchar(8),sex varchar(1))')
cur.execute('show tables')#在这里不能直接打印出tables,而要用如下命令查看
cur.fetchone()

得到如下结果:

3.表操作

只介绍添加记录和查找记录,因为删除和修改mysqldb所设计的操作比较少,基本只和sql语句有关。

3.1.增

sqlim = "insert into test(ID,name,sex) values(%s,%s,%s)"#先把sql语句写下来,用格式化方法方便操作时传入可变的值,注意这里无论什么数据类型都用%s
m1 = (1,'aaa','f')
m2 = (2,'bbb','m')
m3 = (3,'ccc','m')
m4 = (4,'ddd','f')
m5 = (5,'eee','m')
cur.executemany(sqlim,[m1,m2,m3,m4,m5])#用列表把5个值和sql命令通过executemany命令执行。如果只有一个值的话把executemany改为execute把sqlim中values改为value,传入一个m参数就可以了。

3.2.查

cur.execute('select  * from test')
cur.fetchall()

得到如下结果

在这里,指针移动到了最后面,在执行cur.fetchone()就无法得到任何结果,所以需要移动指针

cur.scroll(offset,mode)#这scroll的用法和python中的文件操作所用的seek函数只有第一个参数是一样的,mode=absolute | relative,默认为relative。

我们把cur移到最前面

cur.scroll(0,‘absolute’)
cur.catchmany(2) #查到前两条数据

因为前面我们由cur.execute(‘select * from test‘)得到的是test中记录的条数,所以可以直接这样使用输出所有条目

cur.catchmany(cur.execute('select * from test'))

第三步:退出

先退出游标

cur.close()

在退出连接

conn.close()

申明

本文是在听网易云课堂疯狂的Python:快速入门精讲第37课时所做的笔记

python下用mysqldb连接使用数据库

时间: 2024-10-24 06:24:18

python下用mysqldb连接使用数据库的相关文章

python下的MySQLdb使用

python下的MySQLdb使用 3.执行sql语句和接收返回值 cursor=conn.cursor() n=cursor.execute(sql,param) 首先,我们用使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值 cursor用来执行命令的方法: callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execut

在MacOS下使用sqlalchemy 连接sqlserver2012 数据库

在MacOS下使用sqlalchemy 连接sqlserver 数据库 前言 最近有要求,要将数据库换成巨硬家的sqlserver 2012 因为在网上苦苦找不到sqlalchemy 配置连接SqlServer的具体中文步骤,翻了官方文档后把步骤整理出来 前期准备 已经安装好sqlalchemy 运行环境介绍 系统:MacOS 10.13.1 Beta Python 环境: 3.6.0 sqlalchemy 1.1.4 pycode 4.0.19 sqlserver 2012 实施步骤 在sql

MySQL学习笔记_12_Linux下C++/C连接MySQL数据库(二) --返回数据的SQL

 Linux下C++/C连接MySQL数据库(二) --返回数据的SQL 引: 返回数据的SQL是指通过查询语句从数据库中取出满足条件的数据记录 从MySQL数据库值哦功能检索数据有4个步骤: 1)发出查询 2)检索数据 3)处理数据 4)整理所需要的数据 用mysql_query()发出查询,检索数据可以使用mysql_store_result()或mysql_use_result(),取决与怎样检索数据,接着是调用mysql_fetch_row()来处理数据,最后,还必须调用mysql_

MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三) --处理返回数据

 Linux下C++/C连接MySQL数据库(三) --处理返回数据 一.通过返回结果集中的字段数 [cpp] view plaincopyprint? unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... 示例:

MySQL学习笔记_11_Linux下C++/C连接MySQL数据库(一)

 Linux 下 C++/C 连接 MySQL 数据库(一) 一.连接前准备 原材料:Ubuntu12.04LTS (已经安装了MySQL5.5或者更高级版本,新立得软件包,gcc/g++或者CodeBlosks编译器) 安装了以上的软件包后,我们可以正常使用MySQL完成数据管理工作,但是很多时候我们需要通过编写程序访问MySQL.此时,在程序中需要加载MySQL驱动头文件,但是默认这些驱动包是没有安装的,因此我们需要在新立得中找到"libmysqld-dev"包并安装. 安装完

局域网内任何一台pc上windows下eclipse远程连接hbase数据库

通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来.文中如果有些地方用词不当,或者理解错误,欢迎您们评论. 一.运行平台 hbase服务器端:Ubuntu 14.04 64位:HBASE1.1.3:JAVA 1.8: hbase客服端:windows32/64位:JAVA1.8:eclipse 4.5: 二.linux服务器端环境配置 1.  安装java 1.8软件 1)下载java软件

Mysqldb连接Mysql数据库(转)

python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问Python数据库接口及API查看详细的支持数据库列表. 不同的数据库你需要下载

Python中使用SQLAlchemy连接Mysql数据库(单表操作)

一,SQLAlchemy的安装 使用 $ easy_install sqlalchemy 或 $ pip install sqlalchemy 如果出现什么错,就进去root用户下进行安装试试,或者网上查查 >>> import sqlalchemy >>> 这样说明成功了,切记是小写哦 二,使用 理论我也不懂,自己查查资料,现在用一个小的案例说一下使用步骤 1,在进行数据操作之前要先连上数据库. >>> from sqlalchemy import

Python教程:ORM连接Sqlite数据库,软件架构基础

python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使用教学的口吻.希望能帮助更多想要学习Python的你. 本教程很多概念性的东西可能不在累赘,建立在大家已经懂得的基础之上.如有些许不懂还请自行学习.致力于程序员高手可以快速入门Python语言. 文章会在今日头条-做全栈攻城狮首发.地址:http://www.toutiao.com/m5443584