zoukankan      html  css  js  c++  java
  • MySQL文档语法快速查找

    在mysql的使用过程中, 可能经常会遇到以下问题:

    • 某个操作语法忘记了, 如何快速查找?
    • 如何快速知道当前版本上某个字段类型的取值范围?
    • 当前版本都支持哪些函数?希望有例子说明..
    • 当前版本是否支持某个功能?

    对于上面列出的问题, 我们可能想到的方法是查找MySQL的文档, 这些问题在官方文档都可以很清楚地查到, 但是却要耗费大量的时间和精力.

    所以对于以上问题, 最好的解决办法就是使用MySQL安装后自带的帮助文档, 这样在遇到问题时就可以方便快捷地进行查询.

    按层次查看帮助

    查看目录

    如果不知道能够提供哪些帮助, 可以用? contents命令来显示所有可供查询的分类, 如下例所示:

    mysql> ? contents
    You asked for help about help category: "Contents"
    For more information, type 'help <item>', where <item> is one of the following
    categories:
       Account Management
       Administration
       Compound Statements
       Data Definition
       Data Manipulation
       Data Types
       Functions
       Functions and Modifiers for Use with GROUP BY
       Geographic Features
       Help Metadata
       Language Structure
       Plugins
       Procedures
       Storage Engines
       Table Maintenance
       Transactions
       User-Defined Functions
       Utility
    

    查看表字段支持哪些数据类型

    对于列出的分类, 可以使用"? 类别名称"的方式针对用户感兴趣的内容做进一步的查看, 例如, 想看看MySQL都支持哪些数据类型, 可以执行"? data tyeps"命令:

    mysql> ? data types
    You asked for help about help category: "Data Types"
    For more information, type 'help <item>', where <item> is one of the following
    topics:
       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
    

    上面列出了此版本支持的所有数据类型, 如果想知道int类型的具体介绍, 也可以利用上面的方法, 做进一步的查看:

    mysql> ? int
    Name: 'INT'
    Description:
    INT[(M)] [UNSIGNED] [ZEROFILL]
    A normal-size integer. The signed range is -2147483648 to 2147483647.
    The unsigned range is 0 to 4294967295.
    URL: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
    

    查看函数

    mysql> ? functions
    You asked for help about help category: "Functions"
    For more information, type 'help <item>', where <item> is one of the following
    categories:
       Bit Functions
       Comparison operators
       Control flow functions
       Date and Time Functions
       Encryption Functions
       Information Functions
       Logical operators
       Miscellaneous Functions
       Numeric Functions
       String Functions
    

    再根据列出的目录查看相应函数,比如查看都有什么日期函数

    mysql> ? Date and Time Functions
    You asked for help about help category: "Date and Time Functions"
    For more information, type 'help <item>', where <item> is one of the following
    topics:
       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
    

    快速查阅帮助

    在实际应用当中, 如果需要快速查阅某项语法时, 可以使用关键字进行快速查询. 例如, 想知道show命令都能看到什么东西, 可以用如下命令:

    mysql> ? show
    Name: 'SHOW'
    Description:
    SHOW has many forms that provide information about databases, tables,
    columns, or status information about the server. This section describes
    those following:
    SHOW AUTHORS
    SHOW {BINARY | MASTER} LOGS
    SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
    SHOW CHARACTER SET [like_or_where]
    SHOW COLLATION [like_or_where]
    SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
    SHOW CONTRIBUTORS
    SHOW CREATE DATABASE db_name
    SHOW CREATE EVENT event_name
    SHOW CREATE FUNCTION func_name
    SHOW CREATE PROCEDURE proc_name
    SHOW CREATE TABLE tbl_name
    SHOW CREATE TRIGGER trigger_name
    SHOW CREATE VIEW view_name
    SHOW DATABASES [like_or_where]
    SHOW ENGINE engine_name {STATUS | MUTEX}
    SHOW [STORAGE] ENGINES
    SHOW ERRORS [LIMIT [offset,] row_count]
    SHOW EVENTS
    SHOW FUNCTION CODE func_name
    SHOW FUNCTION STATUS [like_or_where]
    SHOW GRANTS FOR user
    SHOW INDEX FROM tbl_name [FROM db_name]
    SHOW MASTER STATUS
    SHOW OPEN TABLES [FROM db_name] [like_or_where]
    SHOW PLUGINS
    SHOW PROCEDURE CODE proc_name
    SHOW PROCEDURE STATUS [like_or_where]
    SHOW PRIVILEGES
    SHOW [FULL] PROCESSLIST
    SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
    SHOW PROFILES
    SHOW SLAVE HOSTS
    SHOW SLAVE STATUS
    SHOW [GLOBAL | SESSION] STATUS [like_or_where]
    SHOW TABLE STATUS [FROM db_name] [like_or_where]
    SHOW [FULL] TABLES [FROM db_name] [like_or_where]
    SHOW TRIGGERS [FROM db_name] [like_or_where]
    SHOW [GLOBAL | SESSION] VARIABLES [like_or_where]
    SHOW WARNINGS [LIMIT [offset,] row_count]
    like_or_where:
        LIKE 'pattern'
      | WHERE expr
    If the syntax for a given SHOW statement includes a LIKE 'pattern'
    part, 'pattern' is a string that can contain the SQL "%" and "_"
    wildcard characters. The pattern is useful for restricting statement
    output to matching values.
    Several SHOW statements also accept a WHERE clause that provides more
    flexibility in specifying which rows to display. See
    http://dev.mysql.com/doc/refman/5.5/en/extended-show.html.
    URL: http://dev.mysql.com/doc/refman/5.5/en/show.html
    

    例如, 想查看某个函数CONCAT的使用

    mysql> ? concat
    Name: 'CONCAT'
    Description:
    Syntax:
    CONCAT(str1,str2,...)
    Returns the string that results from concatenating the arguments. May
    have one or more arguments. If all arguments are nonbinary strings, the
    result is a nonbinary string. If the arguments include any binary
    strings, the result is a binary string. A numeric argument is converted
    to its equivalent string form. This is a nonbinary string as of MySQL
    5.5.3. Before 5.5.3, it is a binary string; to to avoid that and
    produce a nonbinary string, you can use an explicit type cast, as in
    this example:
    SELECT CONCAT(CAST(int_col AS CHAR), char_col);
    CONCAT() returns NULL if any argument is NULL.
    URL: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html
    Examples:
    mysql> SELECT CONCAT('My', 'S', 'QL');
            -> 'MySQL'
    mysql> SELECT CONCAT('My', NULL, 'QL');
            -> NULL
    mysql> SELECT CONCAT(14.3);
            -> '14.3'
    

    又例如, 如果想查看create table的语法, 可以使用以下命令:

    mysql> ? create table
    Name: 'CREATE TABLE'
    Description:
    Syntax:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        (create_definition,...)
        [table_options]
        [partition_options]
    Or:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        [(create_definition,...)]
        [table_options]
        [partition_options]
        select_statement
    Or:
    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
        { LIKE old_tbl_name | (LIKE old_tbl_name) }
        ......
    

    再举一个例子吧, 比如想查看创建用户GRANT语法怎么写

    mysql> ? grant
    Name: 'GRANT'
    Description:
    Syntax:
    GRANT
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        TO user_specification [, user_specification] ...
        [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
        [WITH with_option ...]
    GRANT PROXY ON user_specification
        TO user_specification [, user_specification] ...
        [WITH GRANT OPTION]
    object_type:
        TABLE
      | FUNCTION
      | PROCEDURE
          ......
    

    http://dev.mysql.com/downloads/是MySQL的官方网站, 可以下载到各个版本的MySQL以及相关客户端开发工具等.

    http://dev.mysql.com/doc/提供了目前最权威的MySQL数据库及工具的在线手册

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
  • 相关阅读:
    取字符串前缀
    分解质因数
    git 常用命令
    微信 iphone端 audio 播放问题
    git入门:创建合并分支 解决冲突 分支管理策略
    git入门:远程仓库 github篇
    git入门:撤销修改 删除文件
    git入门: 工作区暂存区 以及 管理修改
    函数柯里化实现
    转载:深度工作:充分使用每一份脑力
  • 原文地址:https://www.cnblogs.com/hhddd-1024/p/14669115.html
Copyright © 2011-2022 走看看