您的位置:首页 > 编程语言 > Python开发

python数据库操作(1)--Mysql/Sqlite--DB-API

2016-07-25 13:35 766 查看

数据库接口程序(DB-API)

Mysql

python操作mysql需要MySQl-python模块:

安装文件:

百度云:http://pan.baidu.com/s/1eSbReBw

sourceforge:https://sourceforge.net/projects/mysql-python/?source=typ_redirect

1建立连接,2创建游标,3执行语句:

#coding:utf-8
import MySQLdb
#链接字符串 1数据库 2地址3用户名4密码
conn=MySQLdb.connect(db='mydata',host='localhost',user='root',passwd='wasdwasd')
#获取操作游标
cur = conn.cursor()
#执行语句
cur.execute('show databases;')
for data in cur.fetchall():
print data
#执行SQL,创建一个数据库.
conn.close()


输出:

('information_schema',)
('mydata',)
('mysql',)
('test',)

Process finished with exit code 0


关于游标的方法(所有语言)

execute()和query()方法都可以在参数里直接输入SQL语句。

execute()
通常用来执行insert或update等SQL语句,而query常用来执行select等语句。

execute()
方法将返回影响的记录数,如果执行SQL的select语句的话,返回的结果将是表的总记录数:

一些语句:

<创建数据库>

cursor.execute('create database python ')


<创建数据库,创建表,插入数据,插入多条数据,再查询出来>

创建表:

cursor.execute('create table user (login VARCHAR(8),uid INT)')


加入数据:

cursor.execute("INSER INTO user VALUES('john',7000)")


查询(查询出一个集合再输出):

cursor.execute("SELECT * FROM users WHERE login LIKE 'j%' ")
for data in cur.fetchall():
print '%s\t%s' %data


更新 updata和删除 delete:



SQLite

百度百科:

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

导入Python SQLITE数据库模块

Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~

import sqlite3


创建/打开数据库:

在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。

cx = sqlite3.connect("E:/test.db")


也可以创建数据库在内存中。

con = sqlite3.connect(":memory:")


数据库连接对象:

打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:

1.commit()–事务提交

2.rollback()–事务回滚

3.close()–关闭一个数据库连接

4.cursor()–创建一个游标

使用游标和前面一样:



关于游标:

使用游标查询数据库:

我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。

cu=cx.cursor()


游标对象有以下的操作:

序号对象使用
1.execute()执行sql语句
2.executemany执行多条sql语句
3.close()关闭游标
4.fetchone()从结果中取一条记录,并将游标指向下一条记录
5.fetchmany()从结果中取多条记录
6.fetchall()从结果中取出所有记录
7.scroll()游标滚动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: