Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 niro 217 #!/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 *