千家信息网

Python自动化运维开发中Mysql数据库操作方法有哪些

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"Python自动化运维开发中Mysql数据库操作方法有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python自动化运维开发中My
千家信息网最后更新 2025年02月05日Python自动化运维开发中Mysql数据库操作方法有哪些

本篇内容主要讲解"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 < 25;

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,女存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');

查找所有的数据

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

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数据库操作方法有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 数据库 西安 西安市 查询 陕西 陕西省 方法 开发 用户 自动化 内容 升序 条件 游标 表达式 用户表 分类 学习 更深 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 长沙乐推网络技术服务公司 访问速度快的数据库 数据库输入人名怎么设置 东原物业软件开发招聘 网络安全教育论文600字 湖南二本软件开发 工业软件开发视频教程 福建综合软件开发服务电话 mysqld导入大数据库 瀚高数据库如何修改大小写 班级与学生关系的数据库 天津超频服务器厂家供应 网络安全知识与教学业务结合 医学类常用数据库有哪些 广东集团党性体检软件开发 信息化网络安全应急预案 软件开发行业公司图片 百瑞尔软件数据库如何更新 学生网络安全宣传画 电脑如何网络安全启动 qq软件开发语言 点赞过万的好玩服务器我的世界 中国互联网科技创新 JSP查询数据库一位 怎么导出数据库DB2 数据库查询三个字的代码 武清区互联网软件开发价格走势 自办的网络能用广电家庭服务器吗 关系数据库中的空值 计算机网络技术 板书设计
0