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 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介绍的更多相关文章
- 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 ...
- Linux centos7 LAMP架构介绍、 MySQL、MariaDB介绍、MySQL安装
一.LAMP架构介绍 为Linux+Apache(httpd)+MySQL+PHP简写,把后三者安装在Linux Apache是最常用的的web服务软件,MySQL为小型的数据库存储软件,PHP为脚本 ...
- Mariadb 介绍 1 (安装)
引言: mariadb是是由开源社区维护,在这我会从安装到实战都会介绍到.后期所有用到mysql数据库的项目我会全用mariaDB来替换,实际使用中的区别我会标出,请大家注意 MariaDB: Mar ...
- LAMP架构介绍MySQL、MariaDB介绍 MySQL安装
- Linux下MySQL/MariaDB Galera集群搭建过程
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- MariaDB 数据库
1. MariaDB 介绍 MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成 ...
- MariaDB学习记录
MariaDB的学习 MariaDB的学习 关于MariaDB的历史,不再概述 下面是mariadb的官网:https://mariadb.com/ 同样的,MariaDB一样有连接java的jar包 ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- mysql高级用法(1)- mariadb的主从搭建
Mariadb介绍: mariadb是mysql的一个分支,需要进一步了解的参考:https://mariadb.org/ 安装参考教程:window版安装:Mariadb 介绍 1 (安装) lin ...
随机推荐
- 为什么老师不喜欢RelativeLayout
这个要看个人喜好.RelativeLayout对于一些简单布局来说反而复杂了.要计算相对距离这些.用线性布局只要利用好weight可以很直观的实现效果.所以这个因个人喜好而定 对于讲一些简单的功能来说 ...
- poj 1804 (nyoj 117)Brainman : 归并排序求逆序数
点击打开链接 Brainman Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7810 Accepted: 4261 D ...
- ExtJS 4.2 中自定义事件
前台HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www ...
- X86平台下嵌入式linux触摸屏解决方案(usb触摸屏控制器+完美校准方案+触摸屏QTE开发环境搭建)
一直在用X86平台,真心不想用WINCE和XPE,一些大的硬件供应商都不提供linux平台下的技术支持,比如研华的3343PC104系列的板子... 开发的问题如下: 1 USB控制器目前只有台湾和竹 ...
- IIS报错,App_global.asax.×××.dll拒绝访问
解决方案: ①找到C:\Windows下的temp文件夹 ②属性->安全->编辑->添加IIS_IUSERS,给其添加上可读写的权限,然后应用,确定即可
- NOIP 2005 过河
过河 Time Limit: 1000MS Memory Limit: 65536K 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石 ...
- FileZilla - Windows XP经典软件系列
官网: https://filezilla-project.org/ 下载: http://sourceforge.net/projects/filezilla/ 版本:V3.9.0.1 (支持XP最 ...
- 如何在CODESOFT中自定义删除文档备料
CODESOFT 2015是先进的标签设计与集成软件.在使用CODESOFT制作条码标签时,为方便省时,我们可以事先创建自己的文档模板,保存它们以供将来使用.接下来,小编就讲讲CODESOFT 201 ...
- 移动端拖拽(模块化开发,触摸事件,webpack)
通过jquery可以很容易实现CP端的拖拽.但是在移动端却不好用了.于是我自己写了一个在移动端的拖拽demo,主要用到的事件是触摸事件(touchstart,touchmove和touchend). ...
- 使用AS3.0代码实现给图片添加滤镜的模糊与斜角效果
滤镜可应用于任何显示对象(即,从 DisplayObject 类继承的对象), 例如 MovieClip.SimpleButton.TextField 和 Video 对象,以及 BitmapData ...