pymysql:
用于连接mysql 的模块
连接mysql:
conn=pymysql.connect(host='localhost',user='root',password='',database='db1',charset='utf8')
cursor = conn.corsor()
host:目标主机
user、password:登录mysql的账户、密码
database:访问的数据库名称
charset:设置编码,默认编码是latin-1
查询:
name=input('用户名:').strip()
pwd=input('密码:').strip()
cursor = conn.cursor() #拿到游标
sql = 'select * from user where user = '%s' and password = '%s;'%s(name,pwd )' #存在SQL注入问题
rows = cursor.execute(sql) #后面有SQL注入的解决方法
if row: #用row的值来判定用户认证
print('login')
else:
print('nolog')
增加数据:execute、executemany
sql='insert into user(user,password) values(%s,%s)'
rows=cursor.executemany(sql,['a','123'],['b','123']) #execute(sql,['a','123'])是插入一条
查:fetchone、fetchmany、fetchall
sql='select * from user'
rows = cursor.execute(sql)
res1 = cursor.fetchone() #查第一条,并放入res1
res2 = cursor.fetchmany(3) #从第2条开始查3条,结果放入res2
res3 = cursor.fetchall()#从将查处所有内容,并放入res3
改:
sql = 'update user name = 'z' where id = 1'
rows = cursor.execute(sql)
光标:scroll
cursor.scroll(3,mode='absolute') #移动三行,绝对位置模式(从0开始),relative相对位置模式(从光标现值开始)
mysql数据库导出与导入:
导出:
mysqldump -uroot db1 > D:\\db1.sql
导入:
mysql -uroot db1 < D:\\db1.sql