python连接mysql

Django:Python3.6.2+Django2.0配置MySQL 转载

僤鯓⒐⒋嵵緔 提交于 2019-12-01 22:47:33
Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库。。。 我使用的版本是:Python3.6.2+Django2.0+MySQL5.7.21 MySQL下载安装跳过,直接说配置过程: 一、settings.py文件中修改数据库配置为下面的内容: # Database # https://docs.djangoproject.com/en/2.0/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': '3306', 'NAME': 'mysql', 'USER': 'root', 'PASSWORD': 'zwg123456', 'OPTIONS': { 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", }, } } 配置信息从上到下依次是: 驱动(ENGINE)、主机地址(HOST)、端口号(PORT)、数据库(NAME)、用户名(NAME)以及登录密码(PASSWORD); 关于sql_mode的设置,可参考Django文档

第一章.初识mysql

a 夏天 提交于 2019-12-01 18:31:46
1.1数据库管理软件分类 管理数据的工具有很多种,不止mysql一个。关于分类其实可以从各个纬度来进行划分,但是我们最常使用的分类还是根据他们存取数据的特点来划分的,主要分为关系型和非关系型。 可以简单的理解为,关系型数据库需要有表结构 , 非关系型数据库是key-value存储的,没有表结构 #关系型:如 sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用#非关系型:mongodb,redis,memcache 1.2mysql MySQL是一个关系型数据库管理系统 ,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 1.3下载和安装 mysql的安装、启动和基础配置 —— linux版本 mysql的安装、启动和基础配置 —— mac版本 mysql的安装、启动和基础配置 —— windows版本 1.4 mysql的cs架构 mysqld install 安装数据库服务 net start mysql 启动数据库的server端 net stop mysql 停止server端 客户端可以是python代码,也可以是一个程序 mysql.exe 是一个客户端 mysql -u用户名 -p密码 1.5mysql的用户和权限 在安装一个数据库后,有一个最高权限的用户root

04-数据库连接设置

旧城冷巷雨未停 提交于 2019-12-01 16:47:58
数据库 Flask-SQLAlchemy 安装及连接 使用数据库 综合案例演练 数据库迁移 学习目标 能够理解 ORM 工作原理以及其优缺点 能够写出在 Flask 中连接 MySQL 的配置项格式(IP,端口,数据库) 能够使用 SQLAlchemy 定义出关系为一对多模型类 能够使用 SQLAlchemy 的相关函数创建表及删除表 能够写出的指定模型数据对数据库的增删改代码 能够写出模型数据按照条件查询的功能逻辑 能够写出模型数据按照指定数量分页的功能逻辑 能够写出模型数据按照指定条件排序的功能逻辑 能够按照课件步骤实现综合图书管理的相关案例 能够使用 Flask-Migrate 扩展对数据库进行迁移 1、ORM ORM全拼Object-Relation Mapping,中文意思意为 对象-关系映射 ,主要实现模型对象到关系数据库数据的映射。比如:把数据库表中每条记录映射为一个模型对象。 ORM图解 优点 : 只需要面向对象编程, 不需要面向数据库编写代码. 对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库 的 sql语句 . 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不在关注用的是 mysql 、 oracle ... 等. 通过简单的配置就可以轻松更换数据库, 而不需要修改代码. 缺点 :   相比较直接使用SQL语句操作数据库

初始数据库

孤街醉人 提交于 2019-12-01 12:29:55
初始数据库 一、数据库概述 1.数据 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机。 2.数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。简单的来说,数据库即存放数据的仓库。 3.数据库管理系统 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。 数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理

mysql闪回工具--binlog2sql实践

一笑奈何 提交于 2019-12-01 11:49:01
DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。现在有不少好用而且效率又高的开源闪回工具如binlog2sql、mysqlbinlog_flashback,这些工具在工作中给DBA减轻了不少痛苦,以下针对binlog2sql的使用进行实践演练。 binlog2sql的用途: 数据快速回滚(闪回) 主从切换后数据不一致的修复 从binlog生成标准SQL,带来的衍生功能 安装binlog2sql前先安装git和pip: yum -y install epel-release yum -y install git python-pip 安装binlog2sql: git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql pip install -r requirements.txt MySQL的配置要开启以下选项: [mysqld] server_id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog

使用Python数据库ORM SQLAlchemy

萝らか妹 提交于 2019-12-01 11:47:48
1>python的数据库ORMObject Relational Mapper有什么作用 ORM是对象关系映射,ORM主要是按照统一的标准把数据库中的关系数据映射成程序中的对象。对数据库中的表的sql操作,可以通过超python程序对类的操作完成。 2>创建连接: SQLAlchemy 的连接创建是 Lazy 的方式, 即在需要使用时才会去真正创建. 未真正使用之前做的工作, 全是"定义". 连接的定义是在 engine 中做的. engine 的定义包含了三部分的内容, 一是具体数据库类型的实现, 二是连接池, 三是策略(即 engine 自己的实现). 所谓的数据库类型即是 MYSQL , Postgresql , SQLite 这些不同的数据库. 一般创建 engine 是使用 create_engine 方法: create_engine('dialect+driver://username:password@host:port/abc') 如 当使用mysql数据库时, _ENGINE = sqlalchemy.create_engine(FLAGS.sql_connection, **engine_args) FLAGS.sql_connection为 mysql://root:MYSQL_PASS @192.168.87.1 00 /abc?charset=utf8

使用python操作mysql数据库

ぃ、小莉子 提交于 2019-12-01 08:04:02
使用python操作mysql数据库 数据库的安装和连接 PyMySQL的安装 pip install PyMySQL python连接数据库 import pymysql db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询 data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据 print ("Database version : %s " % data) db.close() # 关闭数据库连接 import pymysql conn = pymysql.connect( host='localhost', user='root', password="root", database='db', port=3306, charset='utf-8', ) cur = conn.cursor(cursor=pymysql.cursors.DictCursor) 更多参数 创建表操作 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB"

数据库基础二

坚强是说给别人听的谎言 提交于 2019-12-01 07:41:17
关系数据模型结构 关系模型由关系数据结构,关系操作结构,关系完整性约束三部分组成 关系型数据模型中数据用二维表格的形式组成 关系操作集合 增加、删除、修改、查询,并交等 三种约束完整性:实体完整性、参照完整性、用户自定义完整性。 实体完整性:实体完整性是指实体的主属性不能取空值,列如人都身份证,学生的学号 参照完整性:关系中不允许引⽤不存在的实,例如学生不能在没有的班级 定义完整性:用户定义完整性是针对某一个具体关系的约束条件,不同的应⽤有着不同的具体要求,这些约束条件 就是用户根据需要自己定义的。例如性别取值范围为男、女。 相关概念和常用术语: 数据表:表是数据的矩阵。 记录(元组):表中的一行 字段(属性):表中的一列 域:属性的取值范围 比如性别:男,女 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 关系型数据库语言 SQL:结构化查询语言(Struct Query Language) 数据库主要是sql语句的用法,类似于操作系统的命令。 SQL使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 SQL 语句不区分大小写,但在""和"中区分 SQL能做什么? SQL面向数据库执行查询 可以从数据取回数据 可在数据库中插入新的记录 可更新数据库中的数据 可从数据库删除记录 可创建新数据库 可在数据库中创建新表 可在数据库中创建存储过程

1-3 mysql的安装和基本管理

随声附和 提交于 2019-12-01 06:52:39
一、MySQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 mysql是什么 mysql就是一个基于socket编写的C/S架构的软件 客户端软件   mysql自带:如mysql命令,mysqldump命令等   python模块:如pymysql 数据库管理软件分类 分两大类:   关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用   非关系型:mongodb,redis,memcache 可以简单的理解为: 关系型数据库需要有表结构 非关系型数据库是key-value存储的,没有表结构 二、下载安装 Linux版本 #二进制rpm包安装 yum -y install mysql-server mysql 源码安装见: http://www.cnblogs.com/linhaifeng/articles/7126847.html Window版本 #1、下载:MySQL Community Server 5.7.16 http://dev

Mac OS X 下安装 python-mysql 支持 SQLAlchemy

人盡茶涼 提交于 2019-12-01 06:13:15
Mac OS X 下安装 python-mysql 这里有一个坑 做个记号 https://www.zhihu.com/question/30963225 方法一 嗯,也是被坑了个2小时。 解决方法: 先把之前装的卸载干净: pip uninstall mysql-python brew uninstall mysql-connector-c 现在设置下mysql_config路径: 首先修改系统配置文件vim ~/.bash_profile或者有些人是 ~/.profile,export PATH=$PATH:/Applications/MAMP/Library/bin 这里/Applications/MAMP/Library/bin是MAMP的mysql配置文件路径 安装 brew install mysql-connector-c pip install mysql-python 我是这么搞定的 作者:姜朋飞 链接:https://www.zhihu.com/question/30963225/answer/88839392 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 方法二 换 PyMYSQL 驱动 SQLAlchemy官方支持 0.文档 MySQL — SQLAlchemy 1.0 Documentation http://docs.sqlalchemy