Python学习之mysql交互详解

前言

最近在学习scrapy redis,在复习redis的同时打算把mysql和mongodb也复习一下,本篇为mysql篇,实例比较简单,学习sql还是要动手实操记的比较牢。

安装与启动

安装:

查看服务:

停止服务:

开启服务:

重启服务:

链接数据库:后输入密码

查看版本:

常见数据库语句

查看数据库:

创建数据库:

查看建库语句:

使用数据库:

删除数据库:

常见数据表语句

查看表:

查看表结构:

创建表:

创建表常用属性字段:

删除表:

修改表结构:

常用增删改查

基本查询

查看所有列:

查看指定列:

新增

全列插入:

部分列插入:

插入多行全列数据:

插入多行部分列数据:

更新

更新操作:

删除

删除操作(不推荐):

逻辑删除(推荐):

mysql查询详解

查询消除重复行:

条件查询

where条件查询:

where可以与比较运算符、逻辑运算符、模糊查询、范围查询、空判断搭配使用

比较运算符

举个栗子:

逻辑运算符

举个栗子:

模糊查询

举个栗子:

范围查询

举个栗子:

空判断

举个栗子:

以上几种预算符优先级为:

优先级由高到低的顺序为:小括号、not、比较运算符、逻辑运算符。

and比or先运算,如果同时出现并希望先算or,需要结合()使用。

排序

举个栗子:

聚合函数

举个栗子:

分组

举个栗子:

分页

举个栗子:

连接查询

语法:

其中:

举个栗子:

子查询

在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句。

子查询可以和 in 搭配使用

数据库的备份与恢复

数据库备份

数据库恢复

Python与mysql交互

Python与mysql交互流程安装与导入

安装相关库:

导入:

创建connection对象

其中参数如下:

connection对象方法如下:

获取cursor

其中常用方法:

举个栗子:

mysql视图

什么是视图?

视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据。

视图语句

视图作用

提高了重用性,就像一个函数

对数据库重构,却不影响程序的运行

提高了安全性能,可以对不同的用户

让数据更加清晰

mysql事务

什么是事务?

事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。

事务有什么特点?

原子性,一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。

一致性,数据库总是从一个一致性的状态转换到另一个一致性的状态。

隔离性,一个事务所做的修改在最终提交以前,对其他事务是不可见的。

持久性,一旦事务提交,则其所做的修改会永久保存到数据库。

事务相关命令

mysql索引

什么是索引?

数据库索引好比是一本书前面的目录,能加快数据库的查询速度

索引相关命令

注意事项

建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

建立索引会占用磁盘空间。

尾言

以上就是关于mysql的一些用法,其实是比较基础的,重点部分是关于mysql的查询部分,毕竟在业务应用中主要还是查询为主。

咸鱼普拉思

一只咸鱼在编程路上的摸爬滚打,记录摸索中的点点滴滴。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180822G07PGD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券