python mysqldb使用小记
来源:互联网 发布:海蓝之谜淘宝旗舰店 编辑:程序博客网 时间:2024/05/17 22:34
1.) MySQLdb模块
2。)MySQLdb._mysql
_mysql uses two classes:
connection
result
3.)db = MySQLdb.connect(host=”localhost”, user=”joebob”,
passwd=”moonpie”, db=”thangs”)
db = MySQLdb.connect("localhost", "joebobrd" , "moonpie","tangs") connect的参数: host,port,db ,user,passwd,charset
4.) [cursor name] = [connection object name].cursor()
cursor = mydb.cursor()
cursor.execute()
对象使用时,注意是默认开启事务的, close()关闭 excute()执行语句,返回受影响的行数。 fetchone()执行查询语句时,获取查询结果集的第一行数据,返回一个元组 next()执行查询语句,获取当前行的下一行。 fetchall执行查询时,获取结果集的所有行,一行构成一个元组, 再讲这些元组装入一个元组返回。 scroll(value[,mode])将指针移动到某个位置 mode:表示移动的方式 mode的默认值为relative,表示基于当前行移动到value,value为 正则向下移动,为负则为向上移动。 mode为absolute,表示基于第一条数据的位置,第一条位置为0
5.) mydb.commit() #返回值为None
mydb.close() #
6.)可以同时开启多个连接:
7.)cur = mydb.cursor
result_select_1 = cur.execute(“select * from test”)
#command = cur.execute("""SELECT * FROM menu WHERE price > 7 """)
8.)command = cur.execute(“”“SELECT * FROM menu WHERE price > 7”“”)
results = command.fetchall()
9.)
conn = MySQLdb.connect()
sql = ‘select * from yufu;’
cur = conn.cursor()
cur.execute(sql)
print cur.fetchall()
#coding:utf-8
import sys
import MySQLdb
#import _mysql
try:
db = MySQLdb.connect(host=”localhost”, user=”root”,
passwd=”29700hx”, db=”learn”)
except Exception as e:
print e
cur = db.cursor()
result = cur.execute(“”“select * from yufu”“”)
print result
print “++++++++++++++++++++++++++++=”
result_xx = result.fetchall()
print “++++++++++++++++++++++++++++”
python参数化语句:
有sql注入的形式如下:
++++++++++++++++++++
name =’” or 1=1 #’
sql = ‘select * from menu where NAME=”%s”’%name
如果cur.execute(sql):
转变后的形式及输出:
select * from menu where NAME=”” or 1=1 #”
((4L, u’catfish’, 5.0), (2L, u’bass’, 6.75))
++++++++++++++++++++++++++++++++++++++++++++++++++++++
参数化语句如下:
name =[‘” or 1=1 #’] #需要列表形式。
sql = ‘select * from menu where NAME=”%s”’
#print sql
cur = mydb.cursor()
result =cur.execute(sql,name)
mysql like语句:
select * from menu where name like ‘zhangjiaqign%’;
select * from menu where name not like ‘zhangjiaqign%’;
常见的几种形式:
zhangjiaqing%
%zhangjiaqing
%zhangjiaqing%
%zhangjiaqing%hexian
_ :5个下划线,表示五个任意字符。
__%: 两下划线加% ,表示匹配的字符串至少为两个字符以上。
sys模块:
使用脚本带进来的参数:
name = sys.argv[1]
几种常见形式:
sys.argv[n]:
n =0: 值为脚本名(一般带绝对路径)
n>0: n为多少,就是第几个参数
sys.argv[n:]:python中list的特性,在这里都可以使用。
mysql insert语句:
insert into hexian(name) select NAME from menu;
- python mysqldb使用小记
- python的MySqldb使用
- Python Mysqldb使用简介
- python MySQLdb使用
- python MySQLdb使用
- python MySQLdb使用
- python使用mysqldb连接数据库
- Python使用MySQLdb切换数据库
- python下的MySQLdb使用
- python下的MySQLdb使用
- python下的MySQLdb使用
- python MySQLdb安装和使用
- python MySQLdb安装和使用
- python下的MySQLdb使用
- python下的MySQLdb使用
- python MySQLdb安装和使用
- python MySQLdb安装和使用
- python下的MySQLdb使用
- Git 常用命令详解(二)
- chapter16图像阈值化(图像预处理)
- RNN循环神经网络
- 常用meta整理
- Firetruck UVA
- python mysqldb使用小记
- Git 常用命令速查表(三)
- css的div垂直居中的方法,百分比div垂直居中
- C语言指针
- 五、Spring Cloud 的 Zuul 网关组件
- 类的卸载
- 【语意分割】[文章阅读]DeconvNet
- linux yum 命令
- 一致性哈希算法(用于解决服务器均衡问题)