Python自动化管理Mysql数据库教程
admin
2023-02-14 09:00:11
0次

下面一起来了解下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;

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

(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;

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

(11)  插入数据

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

(12)  查看数据

mysql> select * from user;

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

(13)  只查询指定的列

mysql> select name,addr from user;

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

(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;

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

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

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

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

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

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

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

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

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

select name,age,addr from user where age < 25;

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

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

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

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

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

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

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

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

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

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

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

(15)  查询总数

mysql> select count(*) from user;

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

3.创建CMDB的用户表

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

CREATE 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');

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

查找所有的数据

mysql> select id,name,password,age,sex,tel,addr from user ;

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

限制查询的数据 (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;

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

排序 (降序和升序)

降序(desc)

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

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

升序(asc)

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

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

更新操作

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;

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

分类统计

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

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

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

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

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');")

DML

cursor.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数据库教程这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...