一、mariadb逻辑架构
1、第一层不是Mysql特有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。比如连接管理、授权认证、安全。
2、第二层是Mysql独有的部分,大多数Mysql的核心服务功能都在这一层,包括查询解析、分析、优化、缓存及所有内置函数(比如日期、时间、数学和加密),所有的跨存储引擎的功能都在这一层(比如存储过程、触发器、视图等)。
3、第三层包含了存储引擎,负责Mysql的存储与提取。服务器通过Api与存储引擎进行通信,这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。存储引擎包含几十个底层函数,用于执行诸如 ‘开始一个事物’ 或者 ‘根据主键提取一行数据’等操作。但存储引擎不会解析SQL,不同的存储引擎也不会互相通信,而只是简单的响应上层的请求。
二、安装和初始化
1、安装
yum install mariadb
yum install mariadb-server
yum install mysql-devel
2、启动服务
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
3、查看版本
mysqladmin --version
4、初始化密码
mysqladmin -u root password "new_password";
再次修改密码可以用
mysqladmin -u root -p password "new_password";
#此时你需要输入旧密码
5、连接登录数据库
mysql -u root -p
三、数据类型
MySql支持多种列类型:
数值类型
日期/时间类型
字符串(字符)类型
数值类型
1、整型
• tinyint(m) 1个字节 范围(-128~127)
• smallint(m) 2个字节 范围(-32768~32767)
• mediumint(m) 3个字节 范围(-8388608~8388607)
• int(m) 4个字节 范围(-2147483648~2147483647)
• bigint(m) 8个字节 范围(+-9.22*10的18次方)
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)
2、浮点型(float和double),近似值
• float(m,d) 单精度浮点型 8位精度(4字节) m总个数, d小数位
• double(m,d) 双精度浮点型 16位精度(8字节) m总个数, d小
数位
设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位
3、定点数
字符串类型
• char(n) 固定长度,最多255个字符
• varchar(n)可变长度,最多65535个字符
• tinytext 可变长度,最多255个字符
• text 可变长度,最多65535个字符
• mediumtext 可变长度,最多2的24次方-1个字符
• longtext 可变长度,最多2的32次方-1个字符
• BINARY(M) 固定长度,可存二进制或字符,允许长度为0-
M字节,
• VARBINARY(M) 可变长度,可存二进制或字符,允许长度
为0-M字节
• 内建类型: ENUM枚举, SET集合
四、数据库基本操作
库操作
1、创建数据库
mysql -u root -p
MariaDB [(none)]> create database test;
或者直接在shell敲命令
mysqladmin -u root -p create test
2、删除数据库
mysql -u root -p
MariaDB [(none)]> drop database test;
或者
mysqladmin -u root -p drop test
3、查看数据库
MariaDB [(none)]> show databases;
4、使用数据库
MariaDB [(none)]> use test1;
Database changed
MariaDB [test1]>
表操作
格式CREATE TABLE table_name (column_name column_type);