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:
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:
e
sql
=
"
insert into test1(name, age) values ('%s', %d)
"
%
(
"
张三
"
,
21
)
try
:
cursor.execute(sql)
except
Exception, e:
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以 ......