shell脚本连接、读写、操作mysql数据库实例

Shell连接、读写、操作MySQL

前置条件

在使用过程中需要安装mysql-client,可以使用以下命令完成:

sudo apt-get install mysql-client

另外,还需要安装以下软件包:

  • mysql
sudo apt-get install mysql-server
  • mysql-connector-python
pip install mysql-connector-python

连接MySQL数据库

连接MySQL数据库,需要使用以下命令:

$ mysql -h <host> -u <username> -p

其中:

  • -h <host>:指定连接的MySQL主机
  • -u <username>:指定连接的MySQL用户
  • -p:指定需要输入密码进行连接

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql>

连接成功后,可以在终端输入show databases;命令来查看当前数据库列表。

读取数据

读取MySQL数据库,需要先连接到相应的数据库,然后使用SELECT命令查询数据。

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql> use mydatabase;
Database changed
mysql> SELECT * FROM mytable;
+----+--------+-----------+
| id | name   | age       |
+----+--------+-----------+
|  1 | Alice  |        21 |
|  2 | Bob    |        25 |
|  3 | Charlie|        32 |
+----+--------+-----------+
3 rows in set (0.00 sec)

写入数据

写入MySQL数据库,需要先连接到相应的数据库,然后使用INSERT命令插入数据。

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql> use mydatabase;
Database changed
mysql> INSERT INTO mytable (name, age) VALUES ('David', 28);
Query OK, 1 row affected (0.01 sec)

操作MySQL

操作MySQL数据库,需要先连接到相应的数据库,然后使用相应的命令进行操作。

创建表

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql> use mydatabase;
Database changed
mysql> CREATE TABLE user (
    ->   id INT NOT NULL AUTO_INCREMENT,
    ->   name VARCHAR(50) NOT NULL,
    ->   age INT NOT NULL,
    ->   PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.02 sec)

修改表

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql> use mydatabase;
Database changed
mysql> ALTER TABLE user ADD COLUMN gender VARCHAR(10) DEFAULT 'unknown';
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

删除表

示例:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19-0ubuntu5 (Ubuntu)

...

mysql> use mydatabase;
Database changed
mysql> DROP TABLE user;
Query OK, 0 rows affected (0.01 sec)

示例代码

#!/bin/bash 
HOST="127.0.0.1" 
USER="root" 
PASS="password" 
DB="mydatabase" 

mysql --user=$USER --password=$PASS --host=$HOST $DB << EOF 
    SELECT * FROM mytable; 
EOF
import mysql.connector

cnx = mysql.connector.connect(user='root', password='password',
                              host='127.0.0.1',
                              database='mydatabase')

cursor = cnx.cursor()

query = ("SELECT * FROM mytable")

cursor.execute(query)

for (id, name, age) in cursor:
  print("{} - {} - {}".format(id, name, age))

cursor.close()
cnx.close()

以上就是Shell脚本连接、读写、操作MySQL数据库实例的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shell脚本连接、读写、操作mysql数据库实例 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • php+mysql查询优化简单实例

    下面是”PHP+MySQL查询优化简单实例”的完整攻略: 概述 当网站的访问量逐渐增大后,相应的查询也会变得越来越复杂,这时候就需要使用良好的查询优化来提高网站的响应速度和性能。我们可以使用一些简单的优化方法来缩短查询所需的时间。 查询优化的步骤 查询优化可以分为以下几个步骤: 评估查询性能,分析查询瓶颈 优化数据表设计 使用索引优化查询语句 减少查询语句执…

    database 2023年5月19日
    00
  • mariadb的主从复制、主主复制、半同步复制配置详解

    Mariadb的主从复制、主主复制、半同步复制配置详解 Mariadb是一款常用的开源数据库,支持不同的复制方式,包括主从复制、主主复制和半同步复制。这篇攻略将帮助你详细了解这些复制方式的基本原理和如何配置。 主从复制 在主从复制中,一个Mariadb服务器是主服务器(Master),而其他的服务器(Slave)是从服务器。主服务器将自己的所有更改操作记录到…

    database 2023年5月21日
    00
  • 如何使用Python实现数据库中数据的复杂查询?

    以下是使用Python实现数据库中数据的复杂查询的完整攻略。 数据库中数据的复杂查询简介 在数据库中,复杂查询是指从一个或多个表中检索数据的查询,同时还可以使用多个和运算符进行筛选和排序。在Python中,可以使用pymysql库连接到MySQL数据库,并使用SELECT语句实现复杂查询。 步骤1:连接到数据库 在Python中,可以使用pymysql库连接…

    python 2023年5月12日
    00
  • MySQL数据类型和常用字段属性总结

    MySQL数据类型和常用字段属性总结 MySQL是目前使用最广泛的关系型数据库之一,不同于其他类型数据库的是,MySQL具有非常丰富的数据类型和字段属性。 数据类型 整型 MySQL定义了5种不同长度的整型,分别为:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。这些整型可以用来存储整数值,具体范围和存储大小如下所示: 类型 存储…

    database 2023年5月22日
    00
  • mysql 生成连续日期及变量赋值

    下面给您详细讲解MySQL生成连续日期及变量赋值的完整攻略。 生成连续日期 1. 使用递归函数 使用MySQL递归函数,可以生成一段时间内连续的日期。下面给出一个示例代码。 WITH RECURSIVE dates(d) AS ( SELECT DATE(‘2022-03-01’) d UNION ALL SELECT d + INTERVAL 1 DAY …

    database 2023年5月21日
    00
  • 阿里Druid数据连接池引发的线上异常解决

    下面是详细讲解“阿里Druid数据连接池引发的线上异常解决”的完整攻略。 问题背景 在使用阿里Druid数据连接池时,我们发现线上应用经常会出现一些奇怪的异常,比如连接超时、连接泄露等等。经过排查,发现这些异常都是由于数据连接池引起的。 异常排查 在排查过程中,我们首先查看了应用日志,发现了一些如下的异常信息: com.alibaba.druid.pool.…

    database 2023年5月21日
    00
  • Mysql数据库错误代码中文详细说明

    下面是详细讲解“Mysql数据库错误代码中文详细说明”的完整攻略。 简介 MySQL是一款开源的关系型数据库管理系统,被广泛应用于Web应用程序的开发中。在使用过程中难免会遇到各种各样的错误,Mysql为开发者提供了丰富的错误代码以方便开发者快速定位错误,本文将详细介绍Mysql数据库错误代码中文详细说明。 错误代码说明 Mysql中的错误代码分为多个类型,…

    database 2023年5月21日
    00
  • Android Room的使用详解

    Android Room的使用详解攻略 什么是Android Room? Android Room是谷歌在Android SDK 2.2以上版本中提供的一个数据库持久层解决方案,它将SQLite数据库的功能集中到一个库中,以提供更容易使用的API并允许在编译时进行类型检查。同时,它还支持LiveData、RxJava和Kotlin协程等异步编程库的集成,可帮…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部