pymysql

42.MySQL数据库安装,及驱动程序选择

前提是你 提交于 2020-04-28 06:31:59
MySQL驱动程序安装: 我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。这里我们就是用pymysql来操作。pymysql安排非常简单,只需要通过pip install pymysql即可安装。 常见Mysql驱动程序介绍: MySQL-python:也就是MySQLdb,是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2.但是只支持Python2,目前还不支持Python3. mysqlclient:是mysql-python的另一个分支。支持Python3并且修复了一个bug。 pymysql:纯Python实现的一个驱动,因为是纯Python实现的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝连接。 MySQL Connectot/Python:MySQL官方推出的使用纯Python连接MySQL的驱动,因为是纯Python开发的,效率不高。 在Django中操作数据库有两种方式,第一种方式就是使用原生sql语句操作,第二种就是使用ORM模型来操作。

Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-27 20:13:24
一、 视图 二、 触发器 三、 事务 四、 存储过程 五、 函数 六、 流程控制 一 、视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 # 两张有关系的表 mysql> select * from course; +-----+--------+------------+ | cid | cname | teacher_id | +-----+--------+------------+ | 1 | 生物 | 1 | | 2 | 物理 | 2 | | 3 | 体育 | 3 | | 4 | 美术 | 2 | +-----+--------+------------+ 4 rows in set (0.00 sec) mysql > select * from teacher; +-----+-----------------+ | tid | tname | +-----+-

Django 数据库操作(mysql)

隐身守侯 提交于 2020-04-27 17:08:07
1、首先安装pymysql pip install PyMySQL 2、添加PyMySQL模块 在Pycharm中 File → Settings→→Project Interpreter,图中是已经添加好了的,如果还没添加的话,点击右侧的+号 输入Pymysql搜索,选中PyMySql,然后点击install package 安装好后会出现 3、在项目文件__init__.py引入pymysql import pymysql pymysql.install_as_MySQLdb() 1、插入 import os,django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")# project_name 项目名称 django.setup() from TestModel1.models import Test response="" # 数据库操作 insert test1=Test(name = 'i am a robot') test1.save() # 查询表中所有数据 list = Test.objects.all() for var in list: response += var.name + " " print(response) 2、查询 import os

python学习笔记(15)pymysql数据库操作

时光总嘲笑我的痴心妄想 提交于 2020-04-27 17:06:28
pymysql数据库操作 1、什么是PyMySQL 为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库。 PyMySQL : 这是一个使Python连接到MySQL的库,它是一个纯Python库。 PyMySQL是一个开源项目 : https://github.com/PyMySQL/PyMySQL 2、如何安装PyMySQL 2.1 打开CMD窗口(命令提示符),运行以下其中一行语句: Python3 pip3 install PyMySQL pip version == 18.0 python -m pip install PyMySQL    验证安装成功: pip3 show PyMySQL 3、PyMySQL数据库操作 PyMySQL的基本使用 使用PyMySQL模块固定不变的执行顺序 建立连接 拿到游标 执行SQL语句 关闭(游标、连接) 来源: oschina 链接: https://my.oschina.net/u/4265634/blog/4116536

python查询MySQL写入Excel

谁都会走 提交于 2020-04-27 16:25:26
一、概述 现有一个用户表,需要将表数据写入到excel中。 环境说明 mysql版本:5.7 端口:3306 数据库:test 表名:users 表结构如下: CREATE TABLE `users` ( ` id ` bigint( 20 ) NOT NULL AUTO_INCREMENT, `username` varchar( 50 ) COLLATE utf8mb4_bin NOT NULL COMMENT ' 用户名 ' , `password` varchar( 255 ) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT ' 密码 ' , `phone` varchar( 20 ) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT ' 手机号 ' , `email` varchar( 255 ) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT ' 邮箱 ' , `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ' 创建时间 ' , PRIMARY KEY (` id `) ) ENGINE =InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

pymysql

主宰稳场 提交于 2020-04-27 15:35:00
python代码连接mysql数据库 有bug(sql注入的问题): # pip3 install pymysql import pymysql user =input( ' user>>: ' ).strip() pwd =input( ' password>>: ' ).strip() # 建立链接 conn= pymysql.connect( host = ' 192.168.10.15 ' , port =3306 , user = ' root ' , password = ' 123 ' , db = ' db9 ' , charset = ' utf8 ' ) # 拿到游标 cursor= conn.cursor() # 执行sql语句 sql = ' select * from userinfo where user = "%s" and pwd="%s" ' % (user,pwd) rows = cursor.execute(sql) cursor.close() conn.close() # 进行判断 if rows: print ( ' 登录成功 ' ) else : print ( ' 登录失败 ' ) 在sql语句中 --空格 就表示后面的被注释了,所以密码pwd就不验证了,只要账户名对了就行了,这样跳过了密码认证就是sql注入

Python之路--Django

◇◆丶佛笑我妖孽 提交于 2020-04-26 23:36:49
  python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为: 大而全 ,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 一、基本配置 1、创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令:   python manage.py runserver 0.0.0.0   python manage.py startapp appname   python manage.py syncdb   python manage.py makemigrations   python manage.py migrate   python manage.py createsuperuser 2、程序目录 mysite/ ├── manage.py # 管理文件 └── mysite # 项目目录 ├── __init__.py ├── settings.py # 配置 ├── urls.py # 路由 --> URL和函数的对应关系 └── wsgi.py # runserver命令就使用wsgiref模块做简单的web server 3、配置文件 3.1、数据库配置 DATABASES

DAY16-Django之model

你。 提交于 2020-04-26 23:31:07
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 ORM的劣势 ORM的缺点是会在一定程度上牺牲程序的执行效率。

python3开发进阶-Django框架的起飞加速一(ORM)

做~自己de王妃 提交于 2020-04-26 23:30:36
阅读目录 ORM介绍 Django中的ORM ORM中的Model ORM的操作 一、ORM介绍 1、ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 2、ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。 当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 3、ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 4、ORM的劣势

django模型(1)

旧巷老猫 提交于 2020-04-26 15:31:42
03-django模型(1) 一、内容回顾   1、路由层     a、简单使用     b、有名分组     c、路由分发     d、反向解析   2、视图层     a、HttpRequest对象 常用的属性 常用方法     b、HttpResponse对象       响应三剑客   3、模板层     a、模板之变量     b、模板之过滤器     c、模板之标签     d、自定制标签和过滤器     e、模版继承 二、今日概要   1、ORM简介   2、单表操作 三、今日详细   1、ORM简介     对象关系映射(Object Relational Mapping,简称ORM)。     简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。     ORM在业务逻辑层和数据库层之间充当了桥梁的作用。     咱们通过一张图来介绍一下数据库与python代码之间的一个关系,请看下图:     ORM的优点: 不用写繁琐的SQL语句,用咱们熟悉的python代码,就能实现对数据的操作,提高开发效率; 可以平滑的操作,切换数据库。     ORM的缺点: ORM代码转换为SQL语句时,需要花费一定的时间,执行效率会有所降低; 长期写ORM代码,导致写SQL语句能力,会有所减弱。