python mysqldb使用小记
2017-09-11 10:27
204 查看
1.) MySQLdb模块
2。)MySQLdb._mysql
_mysql uses two classes:
connection
result
3.)db = MySQLdb.connect(host=”localhost”, user=”joebob”,
passwd=”moonpie”, db=”thangs”)
4.) [cursor name] = [connection object name].cursor()
cursor = mydb.cursor()
cursor.execute()
5.) mydb.commit() #返回值为None
mydb.close() #
6.)可以同时开启多个连接:
7.)cur = mydb.cursor
result_select_1 = cur.execute(“select * from test”)
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 =0: 值为脚本名(一般带绝对路径)
n>0: n为多少,就是第几个参数
sys.argv[n:]:python中list的特性,在这里都可以使用。
mysql insert语句:
insert into hexian(name) select NAME from menu;
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 =0: 值为脚本名(一般带绝对路径)
n>0: n为多少,就是第几个参数
sys.argv[n:]:python中list的特性,在这里都可以使用。
mysql insert语句:
insert into hexian(name) select NAME from menu;
相关文章推荐
- java JSONObject JSONArray对象使用小记
- Jquery AJAX使用踩坑小记
- Any函数使用小记
- Morris图表使用小记
- JQuery jsonp使用小记
- 树莓派Raspberry Pi使用小记
- mysql使用小记
- Bean Validation和Hibernate Validator使用小记
- 命令行工具tshark使用小记
- 数据库 ADO 另一种使用方法和关于C++引用的两个小点【2013.10.16 小记】
- Java transient关键字使用小记
- thrift使用小记
- Display Tag使用小记
- 使用PhoneGap开发Android程序小记
- Android杂谈--Kindle fire使用小记
- 泛型小记与泛型Dictionary使用Enum
- SpringJdbcTemplate模板类使用小记
- git使用小记
- linux使用小记
- 笔记-Fragment使用问题小记