IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Ubuntu系统下,使用python操作MySQL数据库 -> 正文阅读

[大数据]Ubuntu系统下,使用python操作MySQL数据库

1. 安装 MySQL


安装服务端软件:

sudo apt-get install mysql-server

安装客户端软件:

sudo apt-get install mysql-client

上面两个都要安装,这里server和client两个具体什么关系,如下:

Mysql-server,顾名思义做的就是服务端的事情,对数据进行操作。mysql-client做的是客户端的请求,增删改查命令等。

平时,我们在mysql官网下载mysql-server,默认包含了client客户端。不需要再额外找client客户端。

2. MySQL 服务操作


在这里插入图片描述

3. MySQL 系统配置


3.1 MySQL配置文件的路径

MySQL配置文件的路径如下:

在这里插入图片描述

3.2 配置文件内容

查看mysqld.cnf中的内容:

root@localhost:/etc/mysql/mysql.conf.d# vim mysqld.cnf

在这里插入图片描述
在这里插入图片描述


基础的内容要牢记:

在这里插入图片描述

4. 安装 navicat 软件


navicat软件有很多版本,有的只是针对一种数据库,有的可以一对多类型的数据库。

下载地址:https://www.navicat.com.cn/products
在这里插入图片描述

在windows系统下安装,直接通过exe文件,傻瓜式安装就好。

在linux下安装,官方还是出如何安装的。
在这里插入图片描述

5. 使用navicat远程连接ubuntu系统数据库


阿里云的服务器,要打开mysql对应的3306端口。(安全配置)

在这里插入图片描述


之后,我们要在ubuntu系统中创建一个root用户,host为%(%代表允许任何ip都可以访问)。

# 切换到mysql数据库
use mysql;

# 创建一个root用户,host为%,设置密码。
create user 'root'@'%' identified by '密码';

# 给创建的root用户,赋予全部的权限。
grant all privileges on *.* to 'root'@'%';

# 刷新权限
flush privileges;

使用navicat远程连接数据库

先设定ssh,连接服务器:
在这里插入图片描述

再设定ubuntu系统端的mysql配置:

在这里插入图片描述
这样就连接成功,记得测试连接。

6. 终端操作指令


这里仅仅提示几个进场忘记的,增删改查一些列操作很简单。

-- 查看当前时间
select now();

-- 查看当前使用那个数据库
select database();

-- 查看表的结构
desc `表名`;

-- 修改表字段的类型
alter table `表名` modify `列名` 类型 约束;

在这里插入图片描述

7. Python 交互 MySQL数据库


安装pymysql

# 安装pymysql
sudo pip3 install pymysql

# 卸载pymysql
sudo pip3 uninstall pymysql

在这里插入图片描述


查看是否安装pymysql和pymysql的详细信息

# 查看pymysql是否安装和详细信息
sudo pip3 show pymysql

# 查看pip3安装列表
sudo pip3 list

在这里插入图片描述
以上的操作,在windows系统,也是一样的命令一样的操作,通过pip3来安装pymysql模块。


8. connect(连接) 和 cursor(光标) 查询远程数据库

# 1.导包
import pymysql
import pprint

try:
    # 2.连接mysql数据库服务
    connc = pymysql.Connect(
                host='rm-bp168t05xk88zzbv7ro.mysql.rds.aliyuncs.com', # mysql服务端ip ,默认:localhost(127.0.0.1)
                user='root',
                password="xuyanbo0818",
                database='school',
                port=3306,
                charset="utf8",
    )

    # 3.创建游标对象
    cur = connc.cursor()

    # 4. 编写sql语句
    sql = 'select * from `category`'

    # 5. 使用游标对象去调用sql语句
    cur.execute(sql)

    # 6. 获取查询结果 -- print
    result = cur.fetchall()
    pprint.pprint(result)

except Exception as e:
        print(e)
		# 数据回滚
		connc.rollback()
finally:
    # 7.关闭游标对象
    cur.close()
    # 8. 关闭连接
    connc.close()

9. 熟悉 增删改 操作


增删改比查询多了l一步,就是提交(connc.commit()),因为它修改了数据库中的内容,因此必有要有提交操作,才能完全修改数据库!!!

import pymysql

try:
    connc = pymysql.connect(
        user='root',
        password="xuyanbo0818",
        host='rm-bp168t05xk88zzbv7ro.mysql.rds.aliyuncs.com',
        database='school',
        port=3306,
        charset="utf8",
    )
    cur = connc.cursor()

    # 插入数据
    # sql = "INSERT INTO category (categoryid,pid,categoryName) VALUES (%s,%s,%s)"
    # add_data = [9,3,'计算机科学与技术']

    # 更新修改数据
    # sql1 = "UPDATE `category` SET categoryName=%s WHERE categoryid=%s"
    # update_data1 = ['python工程师',2]

    sql2 = "delete from `category` where categoryid=%s"
    delete_data2 = [5]
    cur.execute(sql2,delete_data2)

    # 与查询不同,因为它要修改数据库的数据,因此这里我们必须要有提交操作
    connc.commit()


    print("插入/更新/删除成功")
except Exception as e:
    print(e)

    # 如果报错,要数据回滚
    connc.rollback()
finally:
    cur.close()
    connc.close()
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:48:29  更:2021-09-08 10:50:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:28:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码