zoukankan      html  css  js  c++  java
  • mariadb介绍

    事务(Transaction):组织多个操作为一个整体,要么全部执行,要么全部不执行    “回滚” ,rollback

    SQL接口:sql语句分析器和优化器

    表:为了满足范式设计要求,将一个数据集分拆为多个

    约束:constraint,向数据表插入的数据要遵守的限制规则

      主键:一个或多个字段的组合,填入主键中的数据,必须不同于已存在的数据;不能为空

      外键:一个表中某字段中能插入的数据,取决于另外一张表的主键中的数据

      惟一键:一个或多个字段的组合,填入惟一键中的数据,必须不同于已存在的数据;可以为空

      检查性约束:取决于表达式的要求

    索引:将表中的某一个或某些字段抽取出来,单独将其组织到一个独特的数据结构中

        常用的索引类型:  树型  hash(只有使用MEMORY引擎的表才能使用)    

        实现级别在存储引擎,应该创建在经常用作查询条件的字段上

        索引有助于读请求,但不利于写请求

    MariaDB的特性:插件式存储引擎:存储管理器有多种实现版本,彼此间的功能和特性可能略有区别;用户可根据需要灵活选择

             存储引擎也称为“表类型”

    MariaDB与MySQL的比较:

            (1) 支持更多的存储引擎

            (2) MyISAM-->Aria (改进版)不支持事务

            (3) InnoDB --> XtraDB(改进版) 支持事务

            (4) 诸多扩展和新特性 

            (5) 提供了较多的测试组件

            (6) 完全的开源软件

    centos7上直接安装:yum -y install mariadb-server    启动服务:systemctl start mariadb

        数据目录:/var/lib/mysql/           命令行输入mysql就可以直接登陆了     配置文件:/etc/my.cnf.d/server.cnf

    使用mysql --help查看读取配置文件的位置及读取顺序,后面读的会把前面的覆盖掉

    DDL(Data Definition Language): CREATE, ALTER, DROP

    DML(Data Manipulation Language): INSERT, DELETE, UPDATE, SELECT

    DCL(Data Control Language): GRANT, REVOKE

    三类套接字地址:IPv4,IPv6 3306/tcp  

            Unix Sock:/var/lib/mysql/mysql.sock(rpm安装) /tmp/mysql.sock(源码安装)  通过127.0.0.1地址通信

    客户端:

        mysql:CLI交互式客户端程序 

        mysqldump:备份工具

        mysqladmin:管理工具,例如:[root@localhost ~]# mysqladmin extended-status

        mysqlbinlog:二进制日志文件查看工具

    命令行交互式客户端程序:mysql

        -uUSERNAME:用户名,默认为root

        -hHOST:远程主机(即mysql服务器)地址,默认为localhost

        -p[PASSWORD]:用户的密码; 默认为空

    注意:mysql的用户账号由两部分组成:'USERNAME'@'HOST',其中HOST用于限制此用户可通过哪些远程主机连接当前的mysql服

    务,HOST的表示方式,支持使用通配符,%:匹配任意长度的任意字符,_:匹配任意单个字符

    mysql -D mysql  直接登录到mysql数据库       mysql -e ‘show databases’ 在命令行取得show databases命令的执行结果

    客户端命令:本地执行   获取帮助:MariaDB [(none)]> help   例如:获取状态信息:s

    服务端的获取命令帮助:help COMMAND

      查看mariadb支持哪些字符集:show character set;

      创建一个数据库:create database nihao character set ustf8;

      删除一个数据库:drop database nihao;  注意数据库删除了就找不回了

      查看: show database like '';

    创建表的格式:create table  [if not exits]  tbl_name  (create_defination)  [table_options]

        create_defination:

          字段:col_name  data_type

          键:PRIMARY KEY (col1, col2, ...)  UNIQUE KEY  (col1, col2,...)  FOREIGN KEY (column)

        table_options:engine=egine name

    例如:create table students(id int unsigned not null primary key, name char(10) not null, age tinyint unsigned, gender

    enum('m','f' ));

        字符类型char比varchar对mariadb的性能更好,使用desc tablename查看表结构

    定义多个主键:create table students(id int unsigned not null, name char(10) not null, age tinyint unsigned, gender

    enum('m','f' ),primary key(id,name));

        注意unsigned只能紧跟在数值类型后面,否则会报错

    显示MariaDB支持的所有存储引擎:show engines;  查看表使用存储引擎:show table statusG   查看具体哪张表:show

    table status like 'tablename';  注意:同一个库中表要使用同一种存储引擎类型

    修改:

      增加一个字段:alter table students add class varchar(10) not null after name;

      after表示放在哪个字段后面

      删除一个字段:alter table students drop class;

      不修改名字,只对某一列的属性进行修改:alter table students modify class varchar(99) after age;

      

      删除主键:alter table students drop primary key;

      添加一个唯一键:alter table students add unique key (name);    如果唯一键为not null自动转换此primary key

      查看表的索引:show indexes from tablenameG (注意键可以是索引,但索引不一定是键)

      删除一个索引:alter table students drop index name;   (name为索引的名字)

      添加一个索引:alter table students add index class (class); 【(class)代表的是字段的名字,class表示索引名】

      

      

  • 相关阅读:
    Fabric quickly
    jumpserver install
    Docker installs
    快速安装测试版Mysql
    centos7 usually use
    Mysql 通过frm&ibd 恢复数据
    GIT 常用方法
    诸葛亮-诫外甥书
    闭包函数(绑定函数)
    形参和实参
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5527066.html
Copyright © 2011-2022 走看看