MySQL Bash script 插入数据

MySQL Bash script 插入数据

当我们需要向 MySQL 数据库中插入大量数据时,手动逐行插入显然不是有效的方法。在这种情况下,使用 Bash 脚本批量插入数据是非常方便和快捷的。在这篇文章中,我们将学习如何使用 Bash 脚本向 MySQL 数据库插入数据。

阅读更多:MySQL 教程

准备

在开始编写脚本之前,需要确保已经安装了 MySQL 服务器。如果您的操作系统是 Ubuntu 或 Debian,可以使用以下命令安装 MySQL:

sudo apt update
sudo apt install mysql-server

安装过程中会提示您输入数据库管理员的密码。安装完成后,您需要登录 MySQL 服务器并创建一个新的数据库。以下是登录 MySQL 和创建数据库的命令:

sudo mysql -u root -p

在提示符下输入管理员密码,并按 Enter 键继续。然后,在 MySQL 命令行界面中使用以下命令创建名为 mydatabase 的数据库:

CREATE DATABASE mydatabase;

编写 Bash 脚本

接下来,我们将编写 Bash 脚本来向 MySQL 数据库插入数据。我们把脚本命名为 insert_data.sh。在脚本中,我们将使用 mysql 命令行工具来连接到数据库并插入数据。以下是脚本的内容:

#!/bin/bash

MYSQL_USER="root"
MYSQL_PASSWORD="your_password"
MYSQL_DBNAME="mydatabase"

mysql --user=MYSQL_USER --password=MYSQL_PASSWORD $MYSQL_DBNAME << EOF
INSERT INTO users (name, email, age) VALUES
('John', 'john@email.com', 25),
('Jane', 'jane@email.com', 30),
('Mark', 'mark@email.com', 35);
EOF

在上面的脚本中,我们定义了三个变量:MYSQL_USERMYSQL_PASSWORDMYSQL_DBNAMEMYSQL_USERMYSQL_PASSWORD 是连接 MySQL 数据库所需的用户名和密码。MYSQL_DBNAME 是要插入数据的数据库名。

然后,我们使用 mysql 命令连接到 MySQL 数据库,并使用 << EOF 指定输入结束符。接下来,我们在 EOF 中编写 SQL 语句以插入数据。注意,在 SQL 语句的末尾必须有一个分号。

运行脚本

在保存了 insert_data.sh 文件后,需要授予执行权限:

chmod +x insert_data.sh

然后,使用以下命令运行脚本:

./insert_data.sh

如果一切正常,脚本将连接到 MySQL 数据库并向 users 表中插入数据。您可以使用以下命令检查是否插入成功:

sudo mysql -u root -p mydatabase
SELECT * FROM users;

动态生成数据

如果您需要插入大量数据,可能更方便的方法是使用 Bash 脚本动态生成数据。例如,以下脚本将插入 100 条随机生成的用户数据:

#!/bin/bash

MYSQL_USER="root"
MYSQL_PASSWORD="your_password"
MYSQL_DBNAME="mydatabase"

for i in {1..100}
do
    name=(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 5 | head -n 1)
    email=name(shuf -i 1-1000 -n 1)@example.com
    age=(shuf -i 18-80 -n 1)
    mysql --user=MYSQL_USER --password=MYSQL_PASSWORD MYSQL_DBNAME << EOF
    INSERT INTO users (name, email, age) VALUES ('name', 'email', 'age');
EOF
done

在上面的脚本中,我们使用了 cat, tr, fold, head, shuf 等命令生成了随机的用户名、邮箱和年龄。然后,我们使用 for 循环将生成的数据插入到数据库中。在编写此脚本之前,请确保已经创建了 users 数据表。

总结

在本文中,我们学习了如何使用 Bash 脚本向 MySQL 数据库中插入数据。我们首先准备好了 MySQL 服务器并创建了数据库,然后编写了 Bash 脚本来插入预定义的数据以及动态生成的数据。使用 Bash 脚本批量插入数据是非常方便和快捷的,能够大大提高我们的工作效率。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程