今天做个linux下的shell操作数据库的入门例子
1.shell文件内容:
#!/bin/bash HOSTNAME="11.8.8.87" PORT="3306" USERNAME="root" PASSWORD="root" DBNAME="testa" TABLENAME="test" use_db_sql="use ${DBNAME}" mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${use_db_sql}" insert_sql="insert into ${TABLENAME} values('7','mike','123456')" mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
主机地址:11.8.8.87 端口:3306 数据库:testa 表:test
2.test表结构:
mysql> desc test; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | t_id | int(24) | NO | PRI | NULL | auto_increment | | username | varchar(32) | YES | | NULL | | | password | varchar(32) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
3.我这里命名shell文件名为:mysqltestshell,在windows上编辑后上传到linux服务器上,
修改权限:chmod +x mysqltestshell
执行./mysqltestshell,
报错:-bash: ./mysqltestshell: /bin/bash^M: bad interpreter: No such file or directory
解决办法:
vi mysqltestshell
然后用命令 :set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.
4.运行结果
请自觉忽略乱码情况(此处只是测试),可以看到新增了一条记录
mysql> select * from test; +------+----------+----------------------+ | t_id | username | password | +------+----------+----------------------+ | 1 | 娴璇 | 娴璇瀵鐮 | | 2 | ?? | 娴璇瀵鐮 | | 3 | ?? | 忙碌?猫炉?氓炉?莽聽? | | 4 | ?? | ???? | | 5 | ?? | ???? | | 6 | ?? | ???? | | 7 | mike | 123456 | +------+----------+----------------------+ 7 rows in set (0.00 sec)
----------------------------------------------------------补充----------------------------------------------------------------
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法。
#!/bin/bash
HOSTNAME="192.168.111.84" #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD=""
DBNAME="test_db_test" #数据库名称
TABLENAME="test_table_test" #数据库中表的名称
#创建数据库
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
#创建表
create_table_sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
#插入数据
insert_sql="insert into ${TABLENAME} values('billchen',2)"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
#查询
select_sql="select * from ${TABLENAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
#更新数据
update_sql="update ${TABLENAME} set id=3"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
#删除数据
delete_sql="delete from ${TABLENAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
相关推荐
Shell脚本能够自动化执行一系列命令,提高工作效率。从入门到精通的学习路径通常包括基础语法、条件语句、循环结构、函数定义、文件处理、进程控制以及高级特性如正则表达式和Awk/Sed工具的使用。通过熟练掌握Shell...
### MySQL基础入门知识点详解 #### 数据库概述 - **什么是数据库** 数据库(Database,简称DB)是一种用于组织、存储和管理数据的电子系统。它可以被看作是一个存储数据的仓库,其中的数据被组织成表格的形式,...
如MySQL Workbench、MySQL Shell、Navicat等,它们提供了图形化的界面,方便用户执行SQL语句、管理数据库和表、以及进行数据操作。对于初学者,MySQL Workbench因其直观易用而特别推荐。 了解基本的SQL语法是入门的...
在MySQL shell中,可以执行SQL语句创建数据库、表,插入、查询数据,以及管理用户权限等。 3. 图形化管理工具: 对于不习惯命令行的用户,可以使用如phpMyAdmin、MySQL Workbench等图形化工具进行更直观的操作。 ...
本入门教程将带你逐步了解MySQL的基础知识,包括安装配置、数据库与表的创建、数据操作以及简单的查询语句。 1. **MySQL安装与配置** 在开始学习MySQL之前,你需要在你的计算机上安装MySQL服务器。这通常涉及下载...
- **Shell脚本编程**:Shell脚本是Linux下的一个重要组成部分,通过编写简单的Shell脚本可以自动化执行一系列命令,提高工作效率。 - **系统管理**:了解如何管理和维护Linux系统,包括用户管理、服务管理、安全设置...
Linux系统的安装及常用命令的使用是IT领域中的基础技能,尤其对于运维人员和服务器管理员而言至关重要。Linux是一种类Unix操作系统,由Linus Torvalds在1991年创建,其核心特性包括多用户、多任务、高效运行、强大的...
### Linux入门到高级知识点概述 #### 一、Linux操作系统简介 - **定义**: Linux是一种开源、免费的操作系统,属于类Unix系统的一种。它由多个组件构成,包括内核、shell、各种工具和服务程序等。 - **特点**: - ...
### Linux 运维入门到高级知识点详解 #### 一、Linux 学习技巧与入门篇 **1.4 Linux 学习技巧** - **虚拟机安装:** 推荐初学者自行安装虚拟机环境,以便在安全隔离的环境中进行实验操作。 - **常用命令练习:** ...
3. **命令执行**:可以使用单个或多个命令,例如`ls -l`列出目录内容。 4. **控制结构**:包括条件语句(`if...else`)、循环(`for`,`while`)和函数。 5. **输入输出重定向**:`>`用于输出重定向,`用于输入...
根据提供的文件信息,我们可以将此Linux入门教程的内容概括为以下几个主要知识点: ### 1. Linux背景与系统架构 - **Linux历史与版本**:了解Linux的发展历程及其在操作系统领域的重要地位,掌握主流Linux发行版...
用户可以通过这个工具执行SQL查询,并使用特殊命令(如`\help`)来查看语法帮助。例如,使用`\help select`可以查看SELECT语句的语法。此外,还可以使用`\g`执行查询,`\gdesc`描述查询结果而不执行,`\gset`将查询...
本书是一本经典的Linux程序设计指南,适合初学者入门学习Linux编程。该书详细介绍了Linux环境下的各种编程技术和工具,旨在帮助读者掌握Linux编程的基础知识和高级技术。 #### 三、章节概览与知识点解析 1. **第一...
4. **Linux命令行基础**:学会使用shell,熟练掌握各种常用命令,如ls、cd、mkdir、rm等。 5. **文本编辑器Vim**:学习Vim的基本操作和高级特性,提升文本编辑效率。 6. **进程管理**:理解进程的工作机制,包括进程...
- **MySQL教程**:这些教程可能涵盖了MySQL的基础知识、SQL语言、数据库设计、性能优化等方面,帮助初学者快速入门。 - **工具**:可能包含MySQL的安装程序、客户端工具(如MySQL Shell、MySQL Workbench)、备份...