SQL数据库管理语句

内容来自实验楼:MySQL 基础课程 

  1. 账户管理语句:
    1).CREATE USER语法:
    CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ...
    创建一个已经使用sha256_password认证的插件和密码设置为'new-password'的账户'jeffrey'@'localhost',要求每隔180天建立一个新的密码:
    CREATE USER 'jeffrey'@'localhost' IDENTIFIED WITH sha256_password BY 'new-password'
    PASSWORD EXPIRE INTERVAL 180 DAY;
    2).DROP USER语法:
    DROP USER user [, user] ...
    3).GRANT 和 REVOKE语法:
    GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
        ON [object_type] {tbl_name | * | *.* | db_name.*}
        TO user [IDENTIFIED BY [PASSWORD] 'password']
            [, user [IDENTIFIED BY [PASSWORD] 'password']] ...
        [REQUIRE
            NONE |
            [{SSL| X509}]
            [CIPHER 'cipher' [AND]]
            [ISSUER 'issuer' [AND]]
            [SUBJECT 'subject']]
        [WITH with_option [with_option] ...]
    
    object_type =
        TABLE
      | FUNCTION
      | PROCEDURE
    
    with_option =
        GRANT OPTION
      | MAX_QUERIES_PER_HOUR count
      | MAX_UPDATES_PER_HOUR count
      | MAX_CONNECTIONS_PER_HOUR count
      | MAX_USER_CONNECTIONS count
    
    REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
        ON [object_type] {tbl_name | * | *.* | db_name.*}
        FROM user [, user] ...
    
    REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

    GRANTREVOKE语句允许系统管理员创建MySQL用户账户,授予权限和撤销权限。
    grant create on mysql to 'jeff'@'localhost';
    revoke create on mysql from 'jeff'@'localhost';
    grant create on table user to 'jeff'@'localhost';
    revoke create on table user from 'jeff@localhost';
    on 格式:数据库名.表名,“*”表示所有数据库,所有表。
    4).RENAME USER 语法:
    RENAME USER old_user TO new_user [, old_user TO new_user] ...
    5).SET PASSWORD语法:
    SET PASSWORD = PASSWORD('some password');    为当前用户设置密码
    SET PASSWORD FOR user = PASSWORD('some password');

  2. 表维护语句:
    1).ANALYZE TABLE语法:ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
    本语句用于分析和存储表的关键字分布。ANALYZE TABLE语句会返回一个含有下列的结果集:
    Table表名称
    Op进行分析
    Msg_type状态、错误、信息或警告之一
    Msg_text消息
    2).CHECK TABLE语法:CHECK TABLE tbl_name [, tbl_name] ... [option] ...
    option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
    返回结果集同上表。
    3).CHECKSUM TABLE语法:CHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]
    报告表的校验和
    4).OPTIMIZE TABLE 语法:OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
    被删除的记录被保存在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件碎片。
    5).REPARE TABLE语法:REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]
    REPAIR TABLE用于修复被破坏的表。通常,基本上不必运行此语句。
    返回结果集同上表。
  3. SET语法:
    SET variable_assignment [, variable_assignment] ...
    
    variable_assignment:
          user_var_name = expr
        | [GLOBAL | SESSION] system_var_name = expr
        | @@[global. | session.]system_var_name = expr

    SET用于设置不同类型的变量。

  4. SHOW语法:
    1).SHOW CHARACTER SET [LIKE 'pattern'];   显示所有可用的字符集。
    2).SHOW COLLATION [LIKE 'pattern'];    输出所有可用的字符集。
    3).SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern'];
    显示在一个给定表中的各列的信息。对于视图,本语句也起作用。
    4).SHOW CREATE {DATABASE | SCHEMA} db_name;
    5).SHOW CREATE TABLE tbl_name;
    6).SHOW {DATABASES | SCHEMAS} [LIKE 'pattern'];
    7).SHOW ENGINE engine_name {LOGS | STATUS };  显示存储引擎的日志或状态信息。
    8).SHOW [STORAGE] ENGINES;
    9).SHOW ERRORS [LIMIT [offset,] row_count];
        SHOW COUNT(*) ERRORS;
    10).SHOW GRANTS FOR user;
    11).SHOW INDEX FROM tbl_name [FROM db_name];
    12).SHOW INNODB STATUS;
    13).SHOW [BDB] LOGS;
    14).SHOW OPEN TABLES [FROM db_name] [LIKE 'pattern'];    列举当前在表缓存中被打开的非TEMPORARY表。
    15).SHOW PRIVILEGES;
    16).SHOW [FULL] PROCESSLIST;   显示正在运行的线程。
    17).SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern'];  提供服务器状态信息。
    18).SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern'];  与SHOW TABLE的类似;不过,可以提供每个表的大量信息。
    19).SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern'];
    20).SHOW TRIGGERS [FROM db_name] [LIKE expr];    列出了目前被MySQL服务器定义的触发程序。
  5. 其他管理语句:
    1).CACHE INDEX语法:
    CACHE INDEX
      tbl_index_list [, tbl_index_list] ...
      IN key_cache_name
    
    tbl_index_list:
      tbl_name [[INDEX|KEY] (index_name[, index_name] ...)]
    CACHE INDEX语句把表索引分配给某个关键缓存。该语句只用于MyISAM表。
    2).FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [, flush_option] ...     清除MySQL使用部分的内部缓存
    3).KILL [CONNECTION | QUERY] thread_id;
    每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止其中一个线程。
    4).LOAD INDEX INTO CACHE语法:
    LOAD INDEX INTO CACHE
      tbl_index_list [, tbl_index_list] ...
    
    tbl_index_list:
      tbl_name
        [[INDEX|KEY] (index_name[, index_name] ...)]
        [IGNORE LEAVES]
    把一个表索引预载入到某个关键缓存中。
    5).RESET reset_option [, reset_option] ...
    用于清除不同的服务器操作的状态。它也作为FLUSH语句的更强大的版本。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值