事务(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 status\G   查看具体哪张表: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 tablename\G (注意键可以是索引,但索引不一定是键)

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

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

  

  

mariadb介绍的更多相关文章

  1. LAMP架构介绍、MySQL、MariaDB介绍、MySQL安装

    5月23日任务 课程内容: 11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装 http://www.ami ...

  2. Linux centos7 LAMP架构介绍、 MySQL、MariaDB介绍、MySQL安装

    一.LAMP架构介绍 为Linux+Apache(httpd)+MySQL+PHP简写,把后三者安装在Linux Apache是最常用的的web服务软件,MySQL为小型的数据库存储软件,PHP为脚本 ...

  3. Mariadb 介绍 1 (安装)

    引言: mariadb是是由开源社区维护,在这我会从安装到实战都会介绍到.后期所有用到mysql数据库的项目我会全用mariaDB来替换,实际使用中的区别我会标出,请大家注意 MariaDB: Mar ...

  4. LAMP架构介绍MySQL、MariaDB介绍 MySQL安装

  5. Linux下MySQL/MariaDB Galera集群搭建过程

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  6. MariaDB 数据库

    1. MariaDB 介绍 MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成 ...

  7. MariaDB学习记录

    MariaDB的学习 MariaDB的学习 关于MariaDB的历史,不再概述 下面是mariadb的官网:https://mariadb.com/ 同样的,MariaDB一样有连接java的jar包 ...

  8. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  9. mysql高级用法(1)- mariadb的主从搭建

    Mariadb介绍: mariadb是mysql的一个分支,需要进一步了解的参考:https://mariadb.org/ 安装参考教程:window版安装:Mariadb 介绍 1 (安装) lin ...

随机推荐

  1. Angularjs路由.让人激动的技术.真给前端长脸了.

    先看文件的摆放 不废话,直接上代码. detail.html: <hr/> <h3>路由 <span style="color: red;">{ ...

  2. 前端之JavaScript

    JavaScript JavaScript 是一种轻量级的编程语言:是可插入 HTML 页面的编程代码:JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 一,编写方式 1.Ja ...

  3. (Array) 一个 N*N 的矩阵,每一行从左到右有序,每一列从上到下有序,都是递增,写个程序,判断一个数是否在矩阵中。

    int search(int d[N][N], int key) { int i1, i2, j1, j2; i1 = j1 = 0; i2 = j2 = N-1; while(i1 < i2 ...

  4. HDU 4770 Lights Against Dudely

    Lights Against Dudely Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  5. 关于Android studio 相对 eclipse 优点

    优点:说法一 1.Google推出的,这个是它的最大优势,Android Stuido是Google推出,专门为Android"量身订做"的 2.速度更快,Eclipse的启动速度 ...

  6. mysql学习笔记(sqlalchemy安装及简单使用)

    博主最近在研究接口API自动化测试,之前设计的通过excel来实现自动化测试的框架实际使用中还是有很多局限性 这次博主的思路是: 1 搭建接口API管理平台 支持数据库方便维护 2 自动化测试平台可直 ...

  7. SDUT 3311 数据结构实验之串三:KMP应用

    数据结构实验之串三:KMP应用 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 有n个小朋友 ...

  8. iOS中精确时间的获取

    下面是一段无法查证出处的英文和自己的翻译 A quick and easy way to measure the performance of a piece of iOS code is to di ...

  9. Hadoop的奇技淫巧

    (2-6为性能优化)(7-9为函数介绍) 1.在JobHistory里面可以看到job相关的一些信息,用start-all启动Hadoop时便可以进入端口号8088查看查看信息,但是无法进入端口号19 ...

  10. mysql中case用法

    如上所述,使用case的子句将作为一个字段,方便起见,可以用别名表示.其中,when是case的条件,值为then的表达式值.   参考: http://www.owe-love.com/myspac ...