Magellan Linux

Contents of /alx-src/trunk/alx-config/alx-config/mysqlfunctions

Parent Directory Parent Directory | Revision Log Revision Log


Revision 217 - (show annotations) (download)
Sat Mar 5 17:08:18 2005 UTC (19 years, 1 month ago) by niro
File size: 1748 byte(s)
test; not ready for public

1 #!/bin/bash
2
3 #
4 # mysql functions for the bash
5 # Version 0.1
6 #
7 # Niels Rogalla <niro@magellan-linux.de>
8 #
9
10 mysql_command(){
11
12 local SQL_USER
13 local SQL_PASS
14 local SQL_HOST
15 local SQL_DB
16 local SQL_COMMAND
17
18 SQL_USER=$1
19 SQL_PASS=$2
20 SQL_HOST=$3
21 SQL_DB=$4
22 SQL_COMMAND=$5
23
24 #fallback (SQL_OPTS not, they are optional )
25 if [ -z "${SQL_USER}" \
26 -o -z "${SQL_PASS}" \
27 -o -z "${SQL_HOST}" \
28 -o -z "${SQL_DB}" \
29 -o -z "${SQL_COMMAND}" ]
30 then
31 echo
32 echo "Usage:"
33 echo -e " mysql_command user pass host db \"sql-command\""
34 echo
35 return 1
36 fi
37
38 mysql \
39 --user="${SQL_USER}" \
40 --password="${SQL_PASS}" \
41 --host="${SQL_HOST}" \
42 --database="${SQL_DB}" \
43 --batch \
44 --skip-column-names \
45 --execute="${SQL_COMMAND}" \
46 || return 1
47
48 return 0
49 }
50
51 mysql_enum_colums(){
52 local SQL_USER
53 local SQL_PASS
54 local SQL_HOST
55 local SQL_DB
56 local SQL_TABLE
57
58 local SHOWTABLES
59 local i
60 local read
61 local field
62 local type
63 local null
64 local key
65 local default
66 local extra
67
68 SQL_USER=$1
69 SQL_PASS=$2
70 SQL_HOST=$3
71 SQL_DB=$4
72 SQL_TABLE=$5
73
74 #show the column names ?
75 if [ -n "${6}" -a "${6}" == "show" ]
76 then
77 SHOWTABLES=true
78 else
79 SHOWTABLES=false
80 fi
81
82 #fallback (SQL_OPTS not, they are optional )
83 if [ -z "${SQL_USER}" \
84 -o -z "${SQL_PASS}" \
85 -o -z "${SQL_HOST}" \
86 -o -z "${SQL_DB}" \
87 -o -z "${SQL_TABLE}" ]
88 then
89 echo
90 echo "Usage:"
91 echo -e " mysql_enum_columns user pass host db table [show]"
92 echo
93 return 1
94 fi
95
96 declare -i i=0
97 while read field type null key default extra
98 do
99 i=${i}+1
100 [ "${SHOWTABLES}" == true ] && echo "${field}"
101 done << EOF
102 $(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} "show columns from ${SQL_TABLE};")
103 EOF
104 [ "${SHOWTABLES}" == true ] || echo "${i}"
105 }

Properties

Name Value
svn:executable *