mysqldb连接mysql_python模块之MySQLdb: 用python连接mysql数据库

python模块之MySQLdb: 用python连接mysql数据库

mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.sourceforge.net/

有下载和文档。

由于python的数据库模块有专门的数据库模块的规范,所以,其实不管使用哪种数据库的方法都大同小异的,这里就给出一段示范的代码:

#

-*- encoding: gb2312 -*-

import

os, sys, string

import

MySQLdb

#

连接数据库

try

:

conn

=

MySQLdb.connect(host

=

'

localhost

'

,user

=

'

root

'

,passwd

=

'

xxxx

'

,db

=

'

test1

'

)

except

Exception, e:

print

e

sys.exit()

#

获取cursor对象来进行操作

cursor

=

conn.cursor()

#

创建表

sql

=

"

create table if not exists test1(name varchar(128) primary key, age int(4))

"

cursor.execute(sql)

#

插入数据

sql

=

"

insert into test1(name, age) values ('%s', %d)

"

%

(

"

zhaowei

"

,

23

)

try

:

cursor.execute(sql)

except

Exception, e:

print

e

sql

=

"

insert into test1(name, age) values ('%s', %d)

"

%

(

"

张三

"

,

21

)

try

:

cursor.execute(sql)

except

Exception, e:

print

e

#

插入多条

sql

=

"

insert into test1(name, age) values (%s, %s)

"

val

=

((

"

李四

"

,

24

), (

"

王五

"

,

25

), (

"

洪六

"

,

26

))

try

:

cursor.ex

相关文档:

复制记录,采用自查询方式

sql

INSERT INTO `table` ('id','aa','bb','cc') SELECT 'id','aa','bb','cc' from `table` (WHERE .....)

Tips:

/**

* 复制新纪录的时候,可能要更新id或者是部分数据(假设id自增加的情况)

*

* text_aa 为固定值 ,可在脚本调用中赋变量值 如($aa)

* 注意'text_aa' 与 `cc` 的区别 ......

MySQL五个查询优化方法

熟悉SQL的人都知道,完成同一个任务,SQL可能有多种写法,但不同写法的查询

性能可能会有天壤之别,本文列举出五个查询优化的方法

,当然,优化的方法还有很多。

1、优化数据类型

MySQL

中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发

人� ......

以下是涉及到插入表格的查询的5种改进方法:

1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍。

2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用一个单行插入语句快几倍。调整bulk_insert_buffer_size变量也能提高(向包含行的表格中)插入的速度。

3)可以对myisam表并行插入Concurrent_i ......

安装mysql

gem install mysql

使用mysql,如,rake db:migrate

会报错:

E:\study\ruby\rails_space>rake db:migrate

(in E:/study/ruby/rails_space)

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.

rake aborted!

193: ......

Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。通常我们是使用的explain,以及slow query log都无法做到精确分析,但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.0.37以 ......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python连接MySQL,可以使用MySQLdb模块。以下是连接MySQL的基本步骤: 1. 安装MySQLdb模块:可以使用pip安装MySQLdb模块,命令为:`pip install MySQL-python` 2. 导入MySQLdb模块:在Python程序中使用MySQLdb模块需要先导入它,命令为:`import MySQLdb` 3. 建立连接:使用MySQLdb中的connect()函数建立与MySQL连接,需要提供MySQL服务器的地址、用户名、密码等信息,示例代码如下: ``` db = MySQLdb.connect(host="localhost", user="root", password="123456", database="test") ``` 4. 创建游标对象:使用连接对象的cursor()方法创建游标对象,示例代码如下: ``` cursor = db.cursor() ``` 5. 执行SQL语句:使用游标对象的execute()方法执行SQL语句,示例代码如下: ``` sql = "SELECT * FROM students" cursor.execute(sql) ``` 6. 获取结果集:使用游标对象的fetchall()方法获取结果集,示例代码如下: ``` results = cursor.fetchall() for row in results: print(row) ``` 7. 关闭连接:使用连接对象的close()方法关闭连接,示例代码如下: ``` db.close() ``` 完整的连接MySQL的代码示例: ``` import MySQLdb # 建立连接 db = MySQLdb.connect(host="localhost", user="root", password="123456", database="test") # 创建游标对象 cursor = db.cursor() # 执行SQL语句 sql = "SELECT * FROM students" cursor.execute(sql) # 获取结果集 results = cursor.fetchall() for row in results: print(row) # 关闭连接 db.close() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值