MariaDB数据基础应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MariaDB数据基础应用相关的知识,希望对你有一定的参考价值。

数据基础应用:

表:
    CREATE TABLE [IF NOT EXISTS] ‘tbl_name‘ (col1 type1, col2 type2, ...) 
        col type1 
        PRIMARY KEY(col1,...)
        INDEX(col1, ...)
        UNIQUE KEY(col1, ...)

        表选项:
            ENGINE [=] engine_name
            ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}

            SHOW ENGINES;

        获取帮助:
            mysql> HELP CREATE TABLE; 

        查看创建命令:
            SHOW CREATE TABLE tbl_name;

        查看表状态:
            SHOW TABLE STATUS LIKE ‘tbl_name‘G

    DROP TABLE [IF EXISTS] ‘tbl_name‘;

    ALTER TABLE ‘tbl_name‘ 
        字段:
            添加字段:add
                ADD col1 data_type [FIRST|AFTER col_name]
            删除字段:drop
            修改字段:alter, change, modify
        索引:
            添加索引:add
            删除索引: drop
        表选项
            修改:

    查看表上的索引:SHOW INDEXES FROM [db_name.]tbl_name;

索引:
    索引是特殊数据结构;定义在查找时作为查找条件的字段;

    索引:要有索引名称;

    创建索引:
        CREATE INDEX index_name ON tbl_name (index_col_name,...);

    删除索引:
        DROP INDEX index_name ON tbl_name;

ML: INSERT, DELETE, SELECT, UPDATE

INSERT INTO:
    INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} (val1,...),(...),...

SELECT:
    SELECT col1,col2,... FROM tbl_name [WHERE clause] [ORDER BY ‘col_name‘ [DESC]] [LIMIT [m,]n];
        字段表示法:
            *: 所有字段;
            as:字段别名,col1 AS alias1;

        WHERE clase:
            操作符:
                >, <, >=, <=, ==, !=
                BETWEEN ... AND ...
                LIKE:
                    %:任意长度的任意字符;
                    _:任意单个字符;
                RLIKE:
                    正则表达式模式匹配;
                IS NULL
                IS NOT NULL

            条件逻辑操作:
                and
                or
                not

DELETE: 
    DELETE FROM tbl_name [WHERE clause] [ORDER BY ‘col_name‘ [DESC]] [LIMIT [m,]n]; 

UPDATE:
    UPDATE tbl_name SET col1=new_val1, col2=new_val2, ... [WHERE clause] [ORDER BY ‘col_name‘ [DESC]] [LIMIT [m,]n];

户账号及权限管理:

用户账号:‘user‘@‘host‘
    user: 用户名
    host: 此用户访问mysqld服务时允许通过哪些主机远程创建连接;
        IP、网络地址、主机名、通配符(%和_); 

    禁止检查主机名:
        my.cnf, [mysqld]
        skip_name_resolve = yes

创建用户账号:
    CREATE USER ‘username‘@‘host‘ [IDENTIFIED BY ‘password‘];

删除用户:
    DROP USER ‘username‘@‘host‘;

授权:
    权限级别:管理权限、数据库、表、字段、存储例程;

    GRANT priv_type,... ON [object_type] db_name.tb_name TO ‘user‘@‘host‘ [IDENTIFIED BY ‘password‘] [WITH GRANT OPTION];

        priv_type: ALL [PRIVILEGES]
        db_name.tb_name:
            *.*: 所有库的所表;
            db_name.*: 指定库的所有表;
            db_name.tb_name: 指定库的指定表;
            db_name.routine_name:指定库的存储例程;

查看指定用户获得的授权:
    SHOW GRANTS FOR ‘user‘@‘host‘; 

    SHOW GRANTS FOR CURRENT_USER;

回收授权:
    REVOKE priv_type, ... ON db_name.tb_name FROM ‘user‘@‘host‘;

注意:MariaDB服务进程启动时会读取mysql库中的所有授权表至内存中;
    (1) GRANT或REVOKE等执行权限操作会保存于表中,MariaDB的服务进程会自动重读授权表;
    (2) 对于不能够或不能及时重读授权表的命令,可手动让MariaDB的服务进程重读授权表:
        mysql> FLUSH PRIVILEGES;

以上是关于MariaDB数据基础应用的主要内容,如果未能解决你的问题,请参考以下文章

Mariadb的基础应用

‘’数据库基础MariaDB服务部署库表基本管理数据类型‘’经典案例

MySQL/MariaDB基础

MySQL/MariaDB基础

MariaDB初识

技术推荐:MariaDB