Python自动化管理Mysql数据库教程

发布时间:2020-05-28 11:14:31

来源:51CTO

阅读:238

作者:三月

下面一起来了解下Python自动化管理Mysql数据库教程,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python自动化管理Mysql数据库教程这篇短内容是你想要的。

1.MYSQL 语言的分类

(1) DDL 数据库定义

(2) DQL 数据库查询

(3) DML 数据库操作

(4) DCL  数据库权限

2.MYSQL  操作

(1) 创建数据库mysql> create database cmdb default charset utf8;

(2)查看所有的数据库mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| cmdb               |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.00 sec)

(3) 使用cmdb数据库mysql> use cmdb;

(4) 查看数据库的创建语法mysql> show create database cmdb;

(5) 删除数据库mysql> drop database cmdb;

(6) 查看所有的表mysql> show tables;

(7)  创建用户表mysql> create table user(id int,name varchar(64),age int, sex boolean,telphone varchar(32), addr varchar(512))engine=innodb default charset utf8;

(8)  查看创建表的过程mysql> show create table user;

(9)  删除表mysql> drop table user;

(10)  查看表结构mysql> desc user;

(11)  插入数据mysql> insert into user(id,name,age,sex,telphone,addr)values(1,'李宽',25,1,'18829787559','陕西省西安市');

(12)  查看数据mysql> select * from user;

(13)  只查询指定的列mysql> select name,addr from user;

(14)  条件查询

where

逻辑关联词  and  or

关系表达式  >  =  <=  !=

like表达式

(1) % 占多位    'abc%'   '%abc'

(2) _ 占一位      ‘abc_’ '_abc'

in 的使用       colname  in (a,b)

not in 的使用   colname not in (a,b)select name,age,addr from user where addr = '陕西省西安市' and age=25;

mysql> select name,age,addr from user where addr = '陕西省西安市' or age = 25;

select name,age,addr from user where addr = '陕西省西安市' or age > 25;

mysql> select name,age,addr from user where age >= 25;

mysql> select name,age,addr from user where age != 25;

select name,age,addr from user where age

mysql> select name,age,addr from user where addr like '陕西省%';

mysql> select name,age,addr from user where addr like '%市';

mysql> select name,age,addr from user where not (addr like '临汾市');

mysql> select name,age,addr from user where age in (23,25);

mysql> select name,sex,age,addr from user where age not in (15,25);

(15)  查询总数mysql> select count(*) from user;

3.创建CMDB的用户表

建表的sql,性别在数据库中存储的时候,男存1,女存0CREATE TABLE user(

id int primary key auto_increment,

name varchar(32) unique not null default '',

password varchar(512) not null default '',

age int not null default 18,

sex boolean not null default 1,

tel varchar(16) not null default '',

addr text,

add_time datetime

)ENGINE=INNODB DEFAULT CHARSET utf8mb4;

批量插入测试数据insert into user(name, password, age, sex, tel, addr, add_time) values ('kk', md5('kk'), 30, 1, '15200000000', '西安市', now()),\

('woniu', md5('woniu'), 30, 1, '15200000001', '北京市', now()),('zhangzhengguang', md5('zhangzhengguang'), 30, 1, '15200000003', '杭州市', now()),\

('likuan', md5('likuan'), 30, 1, '15200000002', '西安市', now())

查看用户登录的用户名和密码mysql> select name,password from user where name='likuan' and password=md5('likuan');

查找所有的数据mysql> select id,name,password,age,sex,tel,addr from user ;

限制查询的数据 (limit可以用来做分页)mysql> select id,name,password,age,sex,tel,addr from user limit 1;

Limit 和 offset结合使用mysql> select id,name,password,age,sex,tel,addr from user limit 2 offset 2;

排序 (降序和升序)

降序(desc)Mysql> select id,name,password,age,sex,tel,addr from user order by age desc;

升序(asc)mysql> select id,name,password,age,sex,tel,addr from user order by age asc;

更新操作mysql> update user set age=15 where id = 3;

mysql> update user set name='kk',tel='152',sex=1,addr='西安市' where id = 1;

删除操作mysql> delete from user where id = 1;

mysql> delete from user;

聚合函数mysql> select max(age),min(age),avg(age),count(age),sum(age) from user;

分类统计mysql> select addr, count(*) from user group by addr;

mysql> select addr,age, count(*) from user group by addr,age;

4.Python代码里操作mysql

首先需要安装mysql的开发包   mysql-devel

其次pip安装 mysqlclient

使用是导入包  MysqlSQLdb

Python操作mysql的七步

(1)导入模块import MySQLdb

(2)创建连接conn=MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='passwd',db='cmdb')

(3)获取游标cursor = conn.cursor()

(4)执行sql(DQL 和 DML)

DQL

返回符合条件的个数cursor.execute("select id,name from user where name='likuan' and password=md5('likuan');")

DMLcursor.execute("update user set age = 35 where id = 1")

(5)DQL获取结果 、DML提交执行

DQL(元组)cursor.fetchall()

cursor.fetchone()

>>> cursor.fetchall()

(('kk',), ('likuan',), ('woniu',), ('zhangzhengguang',))

DML 提交conn.commit()

(6)关闭游标cursor.close()

(7)关闭连接conn.close()

5.提交sql采用预处理的方式(预防sql注入)

(1)将操作和数据分开

(2)两个变量,一个是sql操作,一个是对应的数据

(3)只有数据才可以占位,操作不能占位

看完Python自动化管理Mysql数据库教程这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

python 自动化 mysql 部署_Python自动化管理Mysql数据库教程相关推荐

  1. MySQL之终端(Terminal)管理MySQL

    原文:MySQL之终端(Terminal)管理MySQL 前言:MySQL有很多的可视化管理工具,比如"mysql-workbench"和"sequel-pro-&quo ...

  2. python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备

    现在,我们已经知道如何在不同的操作系统中使用和安装Python以及如何使用EVE-NG搭建网络拓扑.在本章中,我们将学习如何使用目前常用的网络自动化库自动完成各种网络任务.Python可以在不同的网络 ...

  3. python的mysql模块_Python中操作mysql的pymysql模块详解

    前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...

  4. python连接mysql失败_Python连接到MySQL失败,错误为“dh key too small”

    在撰写本文时,使用mysql连接器python 2.1.4来自Oracle的纯python模块(您使用的是2.1.3版本的fork)支持连接字符串中未记录的连接配置kwargssl_cipher(因为 ...

  5. mysql da_DA面板如何管理Mysql数据库?

    DA面板如何管理Mysql数据库? 如何你还不懂如何添加Mysql数据库,请点击 如何添加Mysql 教程. 数据库的管理主要包含一下几个方面:数据库密码的修改:数据库的修复.检查和优化:数据库的备份 ...

  6. terminal登录mysql_转载-MySQL之终端(Terminal)管理MySQL

    前言:MySQL有很多的可视化管理工具,比如"mysql-workbench"和"sequel-pro-". 现在我写MySQL的终端命令操作的文章,是想强化一 ...

  7. terminal mysql 停止_转载MySQL之终端(Terminal)管理MySQL

    前言:MySQL有很多的可视化管理工具,比如"mysql-workbench"和"sequel-pro-". 现在我写MySQL的终端命令操作的文章,是想强化一 ...

  8. mysql root 登录权限管理_MySQL基础教程(7)MySQL用户与权限管理

    在生产环境中通常不建议直接用数据库的root账号来管理每个数据库,这也是为什么安装好MySQL后root用户只能本地登录的原因.正确的做法是为每个业务建立独立的数据库,并且为这些数据库创建一个拥有合适 ...

  9. python pip工具命令_Python包管理工具pip

    一.pip概述 1.python包 python包,可以使我们利用网络上现成的代码库资源,解决程序中某一方面的问题,类似于C语言的各种库. PyPi(Python Package Index ,包索引 ...

最新文章

  1. P4887 第十四分块(前体) 莫队
  2. springmvc请求参数获取(自动绑定)的几种方法
  3. mysql忘记密码如何修改
  4. javascript中操作字符串小结
  5. 激光SLAM学习--多种类激光雷达介绍(单线、多线)
  6. cont::value_type相关的测试程序
  7. 敏捷开发生态系统系列之五:关于敏捷生态系统的一次聊天记录(敏捷估算,同行压力,估算扑克)...
  8. Davinci及U-boot的一些介绍
  9. Python数模笔记-Sklearn (1)介绍
  10. html5canvas简单画图
  11. catti二级笔译综合能力真题_CATTI 二级口笔译教材、真题和模拟试题汇总!
  12. vue-router 跳转原理
  13. (篇三)C语言的冒泡排序多解、选择排序、数组合并、矩阵相加
  14. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation 论文笔记
  15. excel怎么合并同类项数据并求和(去除重复项)
  16. 第二十二章 MySQL有哪些“饮鸩止渴”提高性能的方法?
  17. 拉结尔6月21日服务器维护,《拉结尔》3月5日更新公告-S6赛季降临
  18. 耦合式是什么意思_在电路中,耦合是什么意思?
  19. 看懂Azure DevOps燃尽图(Burndown Chart)
  20. 负载均衡10年发展,应用交付成核心架构

热门文章

  1. 2022:OFA: Unifying Architectures, Tasks, and Modalities through A Simple S2s Learning Framework
  2. C#指定图片添加文字——修改版
  3. java网络编程--IP与InetAddress
  4. Android双屏异显另辟蹊径---minui的移植
  5. 宇宙生命进化的八大密度
  6. HTML和CSS仿唯品会首页,ecshop仿唯品会2014全模板带团购品牌特卖
  7. 初学Python画五角星
  8. GBase 8c数据库登陆
  9. 【总结整理】产品经理技术
  10. 42款免费精美求职简历word模板,四页求职简历模板,含自荐信