bash-script Datenbank – search, select, insert, update, delete

Du brauchst ein Bash-script zum „mysql search, select, insert, update, delete Deiner Daten“ ? Bequem mit einem BashEditor Felder ändern ? Fast schon eine App ?  Gut ! Dann schau !

Für dieses Beispiel -Script  brauchst Du nur

eine mysql – Tabelle mit Namen „support“

mit einem ‚id‘ und einem  ‚text‘  Feld

…… login eintragen

selbsterklärend …. fertig zum probieren.

#!/bin/bash
# 38 48 ; do #Foreground/Background

dbname=“DEIN-DB-NAME——————————————–!“
dbuser=“DEIN-User—————————————————-!“
dbpass=“DEIN-Pass—————————————————-!“

echo -en „\e[48;5;27m\e[38;5;16m“

result=“Noch keine Aktion ausgeführt !“

function suche () {
read -e -p „Eingabe Suchbegriff –>:“ such_str
string1=“select id,text from support where text like ‚%$such_str%'“
string2=“select count(*) from support where text like ‚%$such_str%'“
string3=“select id from support where text like ‚%$such_str%'“
mysql –auto-vertical-output -u$dbuser -p$dbpass -D$dbname -e „$string1“ -E | less -i -p$such_str
result_set1=`mysql -u% -D$dbname -e „$string2“ -E | grep count`
result_set2=`mysql –auto-vertical-output -u$dbuser -p$dbpass -D$dbname -e „$string3“ -E | grep -v „. row **“`
result=“————————————–
Aufruf: suche [Suchbegriff] $such_str
$string1
————————————–
Anzahl gefundener Datensätze:
$result_set1
IDs der gefundenen Datensätze:
$result_set2″
}

function anzeige_id () {
read -e -p „Zeige Datensatz mit der ID –>:“ ID_NR
string5=“select text from support where id=’$ID_NR'“
mysql –auto-vertical-output -u$dbuser -p$dbpass -D$dbname -e „$string5“ -E | grep -v „. row **“ | less
result=“Der Datensatz mit der ID: $ID_NR wurde angezeigt…..“
}

function neu () {
tmp_datei=temp.tmp
nano $tmp_datei; neu_dat=`cat $tmp_datei`
mysql -u$dbuser -p$dbpass -D$dbname -e „INSERT INTO support SET text=’$neu_dat'“
string6=“select id from support where text=’$neu_dat'“
ID_NR=`mysql –auto-vertical-output -u$dbuser -p$dbpass -D$dbname -e „$string6“ -E | grep -v „. row **“`
result=“Der neue Datensatz wurde eingefügt….. $ID_NR“
rm $tmp_datei
}

function aender () {
tmp_datei=“temp-aeh.tmp“
read -e -p „Ändere Datensatz mit der ID –>:“ ID_NR
string4=“select text from support where id=’$ID_NR'“
aender_dat=`mysql -u$dbuser -p$dbpass -D$dbname -e „$string4“ -E -N | grep -v „** 1. row **“`
echo „$aender_dat“ >$tmp_datei
nano $tmp_datei; aender_dat=`cat $tmp_datei`
mysql -u$dbuser -p$dbpass -D$dbname -e „Update support SET text=’$aender_dat‘ where id=’$ID_NR'“
rm $tmp_datei
result=“Der Datensatz mit ID: $ID_NR wurde geändert“
}

function loesch () {
read -e -p „Löschen Datensatz mit der ID –>:“ ID_NR
mysql -u$dbuser -p$dbpass -D$dbname -e „DELETE from support where id=’$ID_NR'“
result=“Der Datensatz mit ID: $ID_NR wurde gelöscht“
}

while ( true )
do
clear
echo „Support-DB-Tool Datenbankname: „$dbname
string0=“select count(*) from support“
Anzahl=`mysql –auto-vertical-output -u$dbuser -p$dbpass -D$dbname -e „$string0“ -E -N | grep -v „** 1. row **“`
echo „Anzahl Datensätze gesamt: $Anzahl“
echo „$result“
echo „“
PS3=“DEINE WAHL : “

select wanzt in Suche Anzeige_ID Neu Ändern Löschen QUIT
do
case $REPLY in
1)
suche
break
;;
2)
anzeige_id
break
;;
3)
neu
break
;;
4)
aender
break
;;
5)
loesch
break
;;
6)
echo „Deine Wahl $wanzt ($REPLY), …….“
echo „bye bye !“
sleep 1
echo -e „\t\e[0m“
clear
exit
;;
*)
echo „DAS WAR NICHTS !“
sleep 1
break
;;
esac

done
done
exit 0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.