码迷,mamicode.com
首页 > 数据库 > 详细

Navicat使用,pymysql模块

时间:2019-05-20 19:34:49      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:val   ctr   注入   相对   source   dict   input   strong   ini   

Navicat使用

掌握:
#1. 测试+链接数据库
#2. 新建库
#3. 新建表,新增字段+类型+约束
#4. 设计表:外键
#5. 新建查询
#6. 建立表模型

#注意:
批量加注释:ctrl+?键
批量去注释:ctrl+shift+?键

快速建表

#准备表、记录  >>> 命令行
mysql> create database db1;
mysql> use db1;
mysql> source /root/init.sql

# navicat建表

pymysql模块

# 1.安装:pip3 insatll pymysql

# 2.代码链接
import pymysql
#链接
conn=pymysql.connect(
  host=localhost,
  user=root,
  password=123,
  database=egon,
  charset=utf8)
#游标
cursor=conn.cursor() #执行完毕返回的结果集默认以元组显示
#cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)  # 以字典的方式显示数据

# 3.pymysql操作数据库
#执行sql语句
user = input(">>>:").strip()
pwd = input(">>>:").strip()
sql=select * from userinfo where name="%s" and password="%s" %(user,pwd) #注意%s需要加引号

rows=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目
# 获取真实数据cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),类似管道取值,获取一条,所有,多条

cursor.scroll(1,relative)  # 相对移动
cursor.scroll(3,absolute)  # 绝对移动


cursor.close()
conn.close()

sql注入问题

# 不要手动去拼接查询的sql语句
username = input(">>>:").strip()
password = input(">>>:").strip()
sql = "select * from user where username=‘%s‘ and password=‘%s‘"%(username,password)

# 用户名正确
username >>>: jason -- jjsakfjjdkjjkjs
# 用户名密码都不对的情况
username >>>: xxx or 1=1 --asdjkdklqwjdjkjasdljad
password >>>: ‘‘

增删改

#
sql = "insert into user(username,password) values(%s,%s)"
rows = cursor.excute(sql,(jason,123))

# 修改
sql = "update user set username=‘jasonDSB‘ where id=1"
rows = cursor.excute(sql)

"""
增和改单单执行excute并不会真正影响到数据,需要再执行conn.commit()才可以完成真正的增改
"""

# 一次插入多行记录
res = cursor,excutemany(sql,[(),(),()]

 

Navicat使用,pymysql模块

标签:val   ctr   注入   相对   source   dict   input   strong   ini   

原文地址:https://www.cnblogs.com/zhengyuli/p/10895850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!