Contents of /alx-src/trunk/alxconfig-ng/functions/mysqlfunctions
Parent Directory | Revision Log
Revision 219 -
(show annotations)
(download)
Tue Mar 8 20:42:05 2005 UTC (19 years, 6 months ago) by niro
File size: 1748 byte(s)
Tue Mar 8 20:42:05 2005 UTC (19 years, 6 months ago) by niro
File size: 1748 byte(s)
new
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 | * |