当前位置: 首页 > news >正文

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;

转载于:https://blog.51cto.com/zhanx/2326002

相关文章:

  • 百度小程序遇到的问题
  • 【总结整理】房产类---转自人人都是产品经理
  • Mac mojova 10.14.1 安装 Cocoapods
  • RabbitMQ的前世今生
  • SpringBoot服务器压测对比(jetty、tomcat、undertow)
  • HDU-1087-Super Jumping! Jumping! Jumping!(DP+上升子序列)
  • 比特币代码分析7 交易校验
  • rsync + inotify 数据实时同步
  • JQuery each循环跳出和结束
  • 从paxos到zookeeper 分布式一致性原理与实践
  • 「CH2101」可达性统计 解题报告
  • java websocket学习
  • 1600802047 android 第三次作业(音乐播放器)
  • bzoj 2555 SubString——后缀自动机+LCT
  • BZOJ3238 [Ahoi2013]差异
  • [译] 怎样写一个基础的编译器
  • 30天自制操作系统-2
  • angular组件开发
  • HTML5新特性总结
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • javascript 哈希表
  • rabbitmq延迟消息示例
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vultr 教程目录
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 分享一份非常强势的Android面试题
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 手写一个CommonJS打包工具(一)
  • 线上 python http server profile 实践
  • 一个JAVA程序员成长之路分享
  • 正则表达式-基础知识Review
  • ​香农与信息论三大定律
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #mysql 8.0 踩坑日记
  • #pragam once 和 #ifndef 预编译头
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (生成器)yield与(迭代器)generator
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • *Django中的Ajax 纯js的书写样式1
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 发送邮件
  • .NET 分布式技术比较
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ C++ ] STL---string类的使用指南
  • [].slice.call()将类数组转化为真正的数组
  • [AutoSar]BSW_Com02 PDU详解