將MySQL help contents的內容有條理的輸入辦法推舉。本站提示廣大學習愛好者:(將MySQL help contents的內容有條理的輸入辦法推舉)文章只能為提供參考,不一定能成為您想要的結果。以下是將MySQL help contents的內容有條理的輸入辦法推舉正文
常常會碰到這類情形,在一個不克不及上彀的情況經由過程MySQL客戶端登錄數據庫,想履行一個操作,卻忘了操作的詳細語法,各類不便利。
其實,MySQL數據庫內置了贊助文檔,經由過程help contents便可檢查。
以下所示:
可見,該文檔涵蓋了數據庫操作的年夜部門主題。
文檔分為以上幾年夜類,每一個年夜類又包含更小粒度的類,類最初有詳細的topic構成。
那末這之間的層級關系若何呢?
昨天想履行一個操作
mysql> backup table emp to '/tmp/mysqlbackup';
由於這個backup操作之前沒有應用過,預備用MySQL自帶的贊助文檔來檢查詳細的用法。原來這個敕令所屬的種別就有點隱約,比方Administration和Utility都有能夠。最初找了一通,照樣沒有找到。
想了想,如許檢查贊助文檔確切沒有太年夜的效力,假如曉得這之間的層級關系就好辦了。
因而,著手寫了個劇本,可直不雅的顯示贊助文檔中年夜類與小類,小類與topic之間的關系。
詳細以下:
#!/bin/bash #一切操作都是在/tmp/test中操作,由於中央新建了許多暫時文件,便利後續的刪除。 mkdir /tmp/test #獲得上圖的內容重定向到/tmp/test/test.txt文件中 mysql -uroot -p123456 -e "help contents " > /tmp/test/test.txt #界說輸入的格局,\t輸入tab,\b相當於backspace一個空格,參考了tree敕令的輸入方法。 format="|\t\b" #刪除第一行和最初一行 sed -i '1d;$d' /tmp/test/test.txt cd /tmp/test #引入number的感化在於後續格局的輸入 number=0 #後續用了遞歸挪用,這裡界說的是函數 function recursive(){ filename=$1 number=$[$number+1] while read line do #name要做為文件名,比方Account Management,應用tr函數是去失落字符中央的空格 name=`echo $line|tr -d [:blank:]` #輸入每一個分類中的內容,能夠是topic,能夠是categories mysql -uroot -p123456 -e "help $line" > $name #取輸入文件的第一行的內容,假如是詳細的topic,則第一行的內容為:Name: 'ALTER USER',否則就照樣categories,須要遞歸挪用 firstline=`head -1 $name` #全部邏輯比擬龐雜的有兩類,一個是Numeric Functions,另外一個是PLUGINS。先說PLUGINS,普通關於一個詳細的topic,它的輸入相似於Name: 'ALTER USER',而PLUGINS #對應的輸入倒是Name: 'SHOW PLUGINS',所以上面的斷定語句多了一個"$firstline" = "Name: 'SHOW PLUGINS'",針對的等於PLUGINS。另外一比擬龐雜的是Numeric Functions #它上面的topic有除號“/”,而這根本上是不克不及作為文件名的。所以鄙人面的斷定邏輯中,假如碰到Numeric Functions,就直接打印出該類中的topic,而不停止Name: 'ALTER USER'如許的斷定 if [ "$firstline" = "Name: '$line'" -o "$firstline" = "Name: 'SHOW PLUGINS'" ];then for i in `seq $[$number-1]` do echo -ne $format done echo "├── $line" else #假如不是topic,則代表是categories,可遞歸停止斷定,獨一的破例就是Numeric Functions #上面的echo "├── $line"打印出的是categories的名字 for i in `seq $[$number-1]` do echo -ne $format done echo "├── $line" #碰到Numeric Functions,就直接打印出該類中的topic if [ "$line" = "Numeric Functions" ];then sed -i '1d;$d' $name while read functions do for i in `seq $number` do echo -ne $format done echo "├── $functions" done < $name else #其它的categories,遞歸挪用該函數停止斷定。 sed -i '1d;$d' $name recursive $name number=$[$number-1] fi fi done < $filename } #主函數 recursive /tmp/test/test.txt #處置終了,刪除文件夾 rm -rf /tmp/test
因MySQL客戶端登錄數據庫的時刻,直接指定了暗碼,假如直接履行的話,會輸入許多“Warning: Using a password on the command line interface can be insecure.”,
可重定向到一個文件
# sh 2.sh > 1.txt
最初文件中的成果以下:
├── Account Management | ├── ALTER USER | ├── CREATE USER | ├── DROP USER | ├── GRANT | ├── RENAME USER | ├── REVOKE | ├── SET PASSWORD ├── Administration | ├── BINLOG | ├── CACHE INDEX | ├── FLUSH | ├── FLUSH QUERY CACHE | ├── HELP COMMAND | ├── KILL | ├── LOAD INDEX | ├── RESET | ├── SET | ├── SHOW | ├── SHOW AUTHORS | ├── SHOW BINARY LOGS | ├── SHOW BINLOG EVENTS | ├── SHOW CHARACTER SET | ├── SHOW COLLATION | ├── SHOW COLUMNS | ├── SHOW CONTRIBUTORS | ├── SHOW CREATE DATABASE | ├── SHOW CREATE EVENT | ├── SHOW CREATE FUNCTION | ├── SHOW CREATE PROCEDURE | ├── SHOW CREATE TABLE | ├── SHOW CREATE TRIGGER | ├── SHOW CREATE VIEW | ├── SHOW DATABASES | ├── SHOW ENGINE | ├── SHOW ENGINES | ├── SHOW ERRORS | ├── SHOW EVENTS | ├── SHOW FUNCTION CODE | ├── SHOW FUNCTION STATUS | ├── SHOW GRANTS | ├── SHOW INDEX | ├── SHOW MASTER STATUS | ├── SHOW OPEN TABLES | ├── SHOW PLUGINS | ├── SHOW PRIVILEGES | ├── SHOW PROCEDURE CODE | ├── SHOW PROCEDURE STATUS | ├── SHOW PROCESSLIST | ├── SHOW PROFILE | ├── SHOW PROFILES | ├── SHOW RELAYLOG EVENTS | ├── SHOW SLAVE HOSTS | ├── SHOW SLAVE STATUS | ├── SHOW STATUS | ├── SHOW TABLE STATUS | ├── SHOW TABLES | ├── SHOW TRIGGERS | ├── SHOW VARIABLES | ├── SHOW WARNINGS ├── Compound Statements | ├── BEGIN END | ├── CASE STATEMENT | ├── CLOSE | ├── DECLARE CONDITION | ├── DECLARE CURSOR | ├── DECLARE HANDLER | ├── DECLARE VARIABLE | ├── FETCH | ├── GET DIAGNOSTICS | ├── IF STATEMENT | ├── ITERATE | ├── LABELS | ├── LEAVE | ├── LOOP | ├── OPEN | ├── REPEAT LOOP | ├── RESIGNAL | ├── RETURN | ├── SIGNAL | ├── WHILE ├── Data Definition | ├── ALTER DATABASE | ├── ALTER EVENT | ├── ALTER FUNCTION | ├── ALTER LOGFILE GROUP | ├── ALTER PROCEDURE | ├── ALTER SERVER | ├── ALTER TABLE | ├── ALTER TABLESPACE | ├── ALTER VIEW | ├── CONSTRAINT | ├── CREATE DATABASE | ├── CREATE EVENT | ├── CREATE FUNCTION | ├── CREATE INDEX | ├── CREATE LOGFILE GROUP | ├── CREATE PROCEDURE | ├── CREATE SERVER | ├── CREATE TABLE | ├── CREATE TABLESPACE | ├── CREATE TRIGGER | ├── CREATE VIEW | ├── DROP DATABASE | ├── DROP EVENT | ├── DROP FUNCTION | ├── DROP INDEX | ├── DROP PROCEDURE | ├── DROP SERVER | ├── DROP TABLE | ├── DROP TABLESPACE | ├── DROP TRIGGER | ├── DROP VIEW | ├── RENAME TABLE | ├── TRUNCATE TABLE ├── Data Manipulation | ├── CALL | ├── DELETE | ├── DO | ├── DUAL | ├── HANDLER | ├── INSERT | ├── INSERT DELAYED | ├── INSERT SELECT | ├── JOIN | ├── LOAD DATA | ├── LOAD XML | ├── REPLACE | ├── SELECT | ├── UNION | ├── UPDATE ├── Data Types | ├── AUTO_INCREMENT | ├── BIGINT | ├── BINARY | ├── BIT | ├── BLOB | ├── BLOB DATA TYPE | ├── BOOLEAN | ├── CHAR | ├── CHAR BYTE | ├── DATE | ├── DATETIME | ├── DEC | ├── DECIMAL | ├── DOUBLE | ├── DOUBLE PRECISION | ├── ENUM | ├── FLOAT | ├── INT | ├── INTEGER | ├── LONGBLOB | ├── LONGTEXT | ├── MEDIUMBLOB | ├── MEDIUMINT | ├── MEDIUMTEXT | ├── SET DATA TYPE | ├── SMALLINT | ├── TEXT | ├── TIME | ├── TIMESTAMP | ├── TINYBLOB | ├── TINYINT | ├── TINYTEXT | ├── VARBINARY | ├── VARCHAR | ├── YEAR DATA TYPE ├── Functions | ├── Bit Functions | | ├── & | | ├── << | | ├── >> | | ├── BIT_COUNT | | ├── ^ | | ├── | | | ├── ~ | ├── Comparison operators | | ├── != | | ├── < | | ├── <= | | ├── <=> | | ├── = | | ├── > | | ├── >= | | ├── BETWEEN AND | | ├── COALESCE | | ├── GREATEST | | ├── IN | | ├── INTERVAL | | ├── IS | | ├── IS NOT | | ├── IS NOT NULL | | ├── IS NULL | | ├── ISNULL | | ├── LEAST | | ├── NOT BETWEEN | | ├── NOT IN | ├── Control flow functions | | ├── CASE OPERATOR | | ├── IF FUNCTION | | ├── IFNULL | | ├── NULLIF | ├── Date and Time Functions | | ├── ADDDATE | | ├── ADDTIME | | ├── CONVERT_TZ | | ├── CURDATE | | ├── CURRENT_DATE | | ├── CURRENT_TIME | | ├── CURRENT_TIMESTAMP | | ├── CURTIME | | ├── DATE FUNCTION | | ├── DATEDIFF | | ├── DATE_ADD | | ├── DATE_FORMAT | | ├── DATE_SUB | | ├── DAY | | ├── DAYNAME | | ├── DAYOFMONTH | | ├── DAYOFWEEK | | ├── DAYOFYEAR | | ├── EXTRACT | | ├── FROM_DAYS | | ├── FROM_UNIXTIME | | ├── GET_FORMAT | | ├── HOUR | | ├── LAST_DAY | | ├── LOCALTIME | | ├── LOCALTIMESTAMP | | ├── MAKEDATE | | ├── MAKETIME | | ├── MICROSECOND | | ├── MINUTE | | ├── MONTH | | ├── MONTHNAME | | ├── NOW | | ├── PERIOD_ADD | | ├── PERIOD_DIFF | | ├── QUARTER | | ├── SECOND | | ├── SEC_TO_TIME | | ├── STR_TO_DATE | | ├── SUBDATE | | ├── SUBTIME | | ├── SYSDATE | | ├── TIME FUNCTION | | ├── TIMEDIFF | | ├── TIMESTAMP FUNCTION | | ├── TIMESTAMPADD | | ├── TIMESTAMPDIFF | | ├── TIME_FORMAT | | ├── TIME_TO_SEC | | ├── TO_DAYS | | ├── TO_SECONDS | | ├── UNIX_TIMESTAMP | | ├── UTC_DATE | | ├── UTC_TIME | | ├── UTC_TIMESTAMP | | ├── WEEK | | ├── WEEKDAY | | ├── WEEKOFYEAR | | ├── YEAR | | ├── YEARWEEK | ├── Encryption Functions | | ├── AES_DECRYPT | | ├── AES_ENCRYPT | | ├── COMPRESS | | ├── DECODE | | ├── DES_DECRYPT | | ├── DES_ENCRYPT | | ├── ENCODE | | ├── ENCRYPT | | ├── MD5 | | ├── OLD_PASSWORD | | ├── PASSWORD | | ├── RANDOM_BYTES | | ├── SHA1 | | ├── SHA2 | | ├── UNCOMPRESS | | ├── UNCOMPRESSED_LENGTH | | ├── VALIDATE_PASSWORD_STRENGTH | ├── Information Functions | | ├── BENCHMARK | | ├── CHARSET | | ├── COERCIBILITY | | ├── COLLATION | | ├── CONNECTION_ID | | ├── CURRENT_USER | | ├── DATABASE | | ├── FOUND_ROWS | | ├── LAST_INSERT_ID | | ├── ROW_COUNT | | ├── SCHEMA | | ├── SESSION_USER | | ├── SYSTEM_USER | | ├── USER | | ├── VERSION | ├── Logical operators | | ├── ! | | ├── AND | | ├── ASSIGN-EQUAL | | ├── ASSIGN-VALUE | | ├── OR | | ├── XOR | ├── Miscellaneous Functions | | ├── DEFAULT | | ├── GET_LOCK | | ├── INET6_ATON | | ├── INET6_NTOA | | ├── INET_ATON | | ├── INET_NTOA | | ├── IS_FREE_LOCK | | ├── IS_IPV4 | | ├── IS_IPV4_COMPAT | | ├── IS_IPV4_MAPPED | | ├── IS_IPV6 | | ├── IS_USED_LOCK | | ├── MASTER_POS_WAIT | | ├── NAME_CONST | | ├── RELEASE_LOCK | | ├── SLEEP | | ├── UUID | | ├── UUID_SHORT | | ├── VALUES | ├── Numeric Functions | | ├── % | | ├── * | | ├── + | | ├── - BINARY | | ├── - UNARY | | ├── / | | ├── ABS | | ├── ACOS | | ├── ASIN | | ├── ATAN | | ├── ATAN2 | | ├── CEIL | | ├── CEILING | | ├── CONV | | ├── COS | | ├── COT | | ├── CRC32 | | ├── DEGREES | | ├── DIV | | ├── EXP | | ├── FLOOR | | ├── LN | | ├── LOG | | ├── LOG10 | | ├── LOG2 | | ├── MOD | | ├── PI | | ├── POW | | ├── POWER | | ├── RADIANS | | ├── RAND | | ├── ROUND | | ├── SIGN | | ├── SIN | | ├── SQRT | | ├── TAN | | ├── TRUNCATE | ├── String Functions | | ├── ASCII | | ├── BIN | | ├── BINARY OPERATOR | | ├── BIT_LENGTH | | ├── CAST | | ├── CHAR FUNCTION | | ├── CHARACTER_LENGTH | | ├── CHAR_LENGTH | | ├── CONCAT | | ├── CONCAT_WS | | ├── CONVERT | | ├── ELT | | ├── EXPORT_SET | | ├── EXTRACTVALUE | | ├── FIELD | | ├── FIND_IN_SET | | ├── FORMAT | | ├── FROM_BASE64() | | ├── HEX | | ├── INSERT FUNCTION | | ├── INSTR | | ├── LCASE | | ├── LEFT | | ├── LENGTH | | ├── LIKE | | ├── LOAD_FILE | | ├── LOCATE | | ├── LOWER | | ├── LPAD | | ├── LTRIM | | ├── MAKE_SET | | ├── MATCH AGAINST | | ├── MID | | ├── NOT LIKE | | ├── NOT REGEXP | | ├── OCT | | ├── OCTET_LENGTH | | ├── ORD | | ├── POSITION | | ├── QUOTE | | ├── REGEXP | | ├── REPEAT FUNCTION | | ├── REPLACE FUNCTION | | ├── REVERSE | | ├── RIGHT | | ├── RPAD | | ├── RTRIM | | ├── SOUNDEX | | ├── SOUNDS LIKE | | ├── SPACE | | ├── STRCMP | | ├── SUBSTR | | ├── SUBSTRING | | ├── SUBSTRING_INDEX | | ├── TO_BASE64() | | ├── TRIM | | ├── UCASE | | ├── UNHEX | | ├── UPDATEXML | | ├── UPPER | | ├── WEIGHT_STRING ├── Functions and Modifiers for Use with GROUP BY | ├── AVG | ├── BIT_AND | ├── BIT_OR | ├── BIT_XOR | ├── COUNT | ├── COUNT DISTINCT | ├── GROUP_CONCAT | ├── MAX | ├── MIN | ├── STD | ├── STDDEV | ├── STDDEV_POP | ├── STDDEV_SAMP | ├── SUM | ├── VARIANCE | ├── VAR_POP | ├── VAR_SAMP ├── Geographic Features | ├── GEOMETRY | ├── GEOMETRY HIERARCHY | ├── SPATIAL | ├── Geometry constructors | | ├── GEOMETRYCOLLECTION | | ├── LINESTRING | | ├── MULTILINESTRING | | ├── MULTIPOINT | | ├── MULTIPOLYGON | | ├── POINT | | ├── POLYGON | ├── Geometry properties | | ├── DIMENSION | | ├── ENVELOPE | | ├── GEOMETRYTYPE | | ├── ISEMPTY | | ├── ISSIMPLE | | ├── SRID | | ├── ST_DIMENSION | | ├── ST_ENVELOPE | | ├── ST_GEOMETRYTYPE | | ├── ST_ISEMPTY | | ├── ST_ISSIMPLE | | ├── ST_SRID | ├── Geometry relations | | ├── CONTAINS | | ├── CROSSES | | ├── DISJOINT | | ├── EQUALS | | ├── INTERSECTS | | ├── OVERLAPS | | ├── ST_CONTAINS | | ├── ST_CROSSES | | ├── ST_DISJOINT | | ├── ST_DISTANCE | | ├── ST_EQUALS | | ├── ST_INTERSECTS | | ├── ST_OVERLAPS | | ├── ST_TOUCHES | | ├── ST_WITHIN | | ├── TOUCHES | | ├── WITHIN | ├── LineString properties | | ├── ENDPOINT | | ├── GLENGTH | | ├── ISCLOSED | | ├── NUMPOINTS | | ├── POINTN | | ├── STARTPOINT | | ├── ST_ENDPOINT | | ├── ST_ISCLOSED | | ├── ST_NUMPOINTS | | ├── ST_POINTN | | ├── ST_STARTPOINT | ├── MBR | | ├── ASYMMETRIC_DECRYPT | | ├── ASYMMETRIC_DERIVE | | ├── ASYMMETRIC_ENCRYPT | | ├── ASYMMETRIC_SIGN | | ├── ASYMMETRIC_VERIFY | | ├── CREATE_ASYMMETRIC_PRIV_KEY | | ├── CREATE_ASYMMETRIC_PUB_KEY | | ├── CREATE_DH_PARAMETERS | | ├── CREATE_DIGEST | | ├── GTID_SUBSET | | ├── GTID_SUBTRACT | | ├── MBR DEFINITION | | ├── MBRCONTAINS | | ├── MBRDISJOINT | | ├── MBREQUAL | | ├── MBRINTERSECTS | | ├── MBROVERLAPS | | ├── MBRTOUCHES | | ├── MBRWITHIN | | ├── SQL_THREAD_WAIT_AFTER_GTIDS | | ├── WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS | ├── Point properties | | ├── ST_X | | ├── ST_Y | | ├── X | | ├── Y | ├── Polygon properties | | ├── AREA | | ├── CENTROID | | ├── EXTERIORRING | | ├── INTERIORRINGN | | ├── NUMINTERIORRINGS | | ├── ST_AREA | | ├── ST_CENTROID | | ├── ST_EXTERIORRING | | ├── ST_INTERIORRINGN | | ├── ST_NUMINTERIORRINGS | ├── WKB | | ├── ASBINARY | | ├── ASTEXT | | ├── GEOMCOLLFROMWKB | | ├── GEOMFROMWKB | | ├── LINEFROMWKB | | ├── MLINEFROMWKB | | ├── MPOINTFROMWKB | | ├── MPOLYFROMWKB | | ├── POINTFROMWKB | | ├── POLYFROMWKB | | ├── ST_ASBINARY | | ├── ST_ASTEXT | | ├── ST_GEOMCOLLFROMWKB | | ├── ST_GEOMFROMWKB | | ├── ST_LINEFROMWKB | | ├── ST_POINTFROMWKB | | ├── ST_POLYFROMWKB | ├── WKT | | ├── GEOMCOLLFROMTEXT | | ├── GEOMFROMTEXT | | ├── LINEFROMTEXT | | ├── MLINEFROMTEXT | | ├── MPOINTFROMTEXT | | ├── MPOLYFROMTEXT | | ├── POINTFROMTEXT | | ├── POLYFROMTEXT | | ├── ST_GEOMCOLLFROMTEXT | | ├── ST_GEOMFROMTEXT | | ├── ST_LINEFROMTEXT | | ├── ST_POINTFROMTEXT | | ├── ST_POLYFROMTEXT | | ├── WKT DEFINITION ├── Help Metadata | ├── HELP_DATE | ├── HELP_VERSION ├── Language Structure ├── Plugins ├── Procedures ├── Storage Engines ├── Table Maintenance | ├── ANALYZE TABLE | ├── CHECK TABLE | ├── CHECKSUM TABLE | ├── OPTIMIZE TABLE | ├── REPAIR TABLE ├── Transactions | ├── CHANGE MASTER TO | ├── DEALLOCATE PREPARE | ├── EXECUTE STATEMENT | ├── ISOLATION | ├── LOCK | ├── PREPARE | ├── PURGE BINARY LOGS | ├── RESET MASTER | ├── RESET SLAVE | ├── SAVEPOINT | ├── SET GLOBAL SQL_SLAVE_SKIP_COUNTER | ├── SET SQL_LOG_BIN | ├── START SLAVE | ├── START TRANSACTION | ├── STOP SLAVE | ├── XA ├── User-Defined Functions | ├── CREATE FUNCTION UDF | ├── DROP FUNCTION UDF ├── Utility | ├── EXPLAIN | ├── HELP STATEMENT | ├── USE
總結:
全部劇本在寫的進程有兩點比擬成心思。
1. 函數遞歸操作,之前沒怎樣應用Shell停止函數的遞歸操作。
2. 自創tree的輸入格局,對成果停止格局化輸入。
思緒以下:起首界說一個number為0,每次進入一次recursive函數,都邑把以後的number加1,假如只是如許的話,那number值將一向增加了,所以在上述劇本else挪用recursive函數部門,會在厥後履行number=$[$number-1],相似於恢復到上一層目次下。
以上這篇將MySQL help contents的內容有條理的輸入辦法推舉就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。