一、Navicat使用

1、测试+链接数据库,新建库

2、新建表,新增字段+类型+约束

3、设计表:外键

4、新建查询

5、建立表模型

二、python操作数据库

pymysql使用步骤:

  1、与数据库服务器建立链接

  2、获取游标对象(用于发送和接收数据)

  3、用游标执行sql语句

  4、使用fetch方法来获取执行的结果

  5、关闭链接:先关游标再关链接

import pymysql

# 创建一个链接得到一个链接对象
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='',
database='day41',
charset='utf8'
) # 获取游标对象 pymysql.cursors.DictCursor返回的结果为字典,默认是元组类型
cursor = conn.cursor(pymysql.cursors.DictCursor) # 执行sql, 如果是select 语句返回的是查询的条数
res = cursor.execute('select * from class')
print(res) # 获取查询的结果
# print(cursor.fetchall()) # 获取所有查询到的数据
print(cursor.fetchone()) # 一个一个的查# cursor.scroll(1, 'absolute') # 绝对移动,参照开始位置
cursor.scroll(1, 'relative') # 相对移动,往后移动一个位置# 关闭链接
cursor.close()
conn.close()

三、sql注入以及增删改查

1、SQL注入: 千万不要手动拼接(关键性参数)查询条件,查:校验用户和密码是否正确

import pymysql

conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='',
database='day41_1',
charset='utf8', )
cursor = conn.cursor(pymysql.cursors.DictCursor)
username = input('username:>>>')
password = input('password:>>>') sql = 'select * from userinfo where name=%s and password=%s' # sql注入,千万不要手动拼接(关键性参数)查询条件
print(sql) res = cursor.execute(sql, (username, password)) if res:
pass
else:
print('用户名和密码错误')

2、增:往表userinfo内增加用户名和密码

import pymysql

conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='',
database='day41_1',
charset='utf8',
autocommit=True # 和下面的conn.commit()是同一个意思,选一个就好
)
cursor = conn.cursor(pymysql.cursors.DictCursor)
username = input('username:>>>')
password = input('password:>>>') sql = 'insert into userinfo(name,password) values(%s,%s)'
res = cursor.execute(sql, (username, password))
# conn.commit() # 确认数据无误之后 commit之后才会将数据真正修改到数据库
print(sql) if res:
pass
else:
print('用户名和密码错误')

3、改:修改指定userinfo表中id的用户名或者密码

import pymysql

conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='',
database='day41_1',
charset='utf8',
autocommit=True # 此行和下面的conn.commit()意思相同,任选一种即可
) cursor = conn.cursor(pymysql.cursors.DictCursor)
sql = "update userinfo set name='jerry' where id =4"
res = cursor.execute(sql)
# conn.commit() # 确认数据无误之后 commit之后才会将数据真正修改到数据库
print(sql)
if res:
pass
else:
print('用户名或密码错误!')

Navicat使用与python操作数据库的更多相关文章

  1. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  2. python操作数据库之批量导入

    python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

  3. 零基础学Python--------第11章 使用Python操作数据库

    第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

  4. python操作数据库PostgreSQL

    1.简述 python可以操作多种数据库,诸如SQLite.MySql.PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括 ...

  5. Python操作数据库之 MySQL

    Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...

  6. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

  8. 孤荷凌寒自学python第四十四天Python操作 数据库之准备工作

     孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...

  9. Python操作数据库及hashlib模块

    一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...

随机推荐

  1. c语言l博客作业11

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  2. opencv中对图片的二值化操作并提取特定颜色区域

    一.最近因为所在的实习公司要求用opencv视觉库来写一个对图片识别并提取指定区域的程序.看了很多资料,只学会了皮毛,下面附上简单的代码.运行程序之前需要安装opencv库,官网地址为:https:/ ...

  3. CF 631B 题解

    题面 注意到每次只染色一行或者一列,那么我们最后输出第i行第j列的数字是多少的时候只需要看一下最后一次i行和第j行被染了什么颜色,所以我们需要对每一行和一列记录最后一次染色的颜色. 但是我们也需要比较 ...

  4. Python文件的几种读写方式

    1). "w "写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 "w+ "是读写内容,只要沾上w,肯定会清空原来的文件2 ...

  5. Python 最常见的 170 道面试题全解析:2019 版

    Python 最常见的 170 道面试题全解析:2019 版 引言 最近在刷面试题,所以需要看大量的 Python 相关的面试题,从大量的题目中总结了很多的知识,同时也对一些题目进行拓展了,但是在看了 ...

  6. 【golang】浅析rune数据类型

    golang中string底层是通过byte数组实现的.中文字符在unicode下占2个字节,在utf-8编码下占3个字节,而golang默认编码正好是utf-8. golang中还有一个byte数据 ...

  7. win10 powershell禁止运行脚本解决

    win10 现在默认策略为 Restricted 该策略情况下是禁止在终端下运行脚本文件的,所以我们想要通过powershell 来运行我们的脚本文件的话就需要我们更改其策略才行,如下命令可以帮助你 ...

  8. luogu P3210 [HNOI2010]取石头游戏

    传送门 不会结论做个鬼系列 题意其实是在头尾(最多)两个栈以及中间一些双端队列依次取数,然后每个人都要最大化自己的价值 有一个结论,如果一段序列中,出现了三个相邻位置\(A,B,C\),满足\(A\l ...

  9. 数据库(一):suse下MySQL安装

    1.准备工作从MySQL官网上分别下载mysql服务器端于客户端包:MySQL-server-5.5.31-1.linux2.6.x86_64.rpmMySQL-client-5.5.31-1.lin ...

  10. 学习-Pytest(五)yield操作

    1.fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作 2.scope="module" 1.fixture参数scope=”modu ...