一、发展

   MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。(来源百度百科)

  MariaDB成立于2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。(来源百度百科)

二、下载与安装

下载地址:https://downloads.mariadb.org/

这里我下载的是10.3.9版的windows系统的msi版的安装包

下载完毕后点击安装,接受协议后

下一步设置

下一步设置

最后安装

配置环境变量,复制安装目录

添加环境变量

开启连接

方式一:

方式二:
进入命令行窗口输入:mysqld即可;

ps:

如果要删除相关服务,只需要在“管理员身份”的命令行窗口下面运行:

sc delete 服务名字

将 MySQL 安装为服务的方式:

“C:\Program Files\MariaDB 10.3\bin\mysqld.exe” install MyDB --defaults-file=“C:\Program Files\MariaDB 10.3\my.ini”

三、MariaDB命令行常用简单命令

win+R调出运行窗口,输入cmd进入dos命令行操作界面

输入mysqld开启连接,输入mysql -u root -p登录服务器

常用命令

3.1. 连接服务器:
mysql -h 主机地址 -P 端口号 -u 用户 -p 密码
3.2. 断开连接:
 quit或者eixt
3.3、查看所有的数据库或当前数据库的表
show databases
3.4、查看帮助
help;
3.5、切换数据库
use database_name;
3.6、查看当前使用的数据库
select database();
3.7、查看表结构
desc table_name;
describe table_name;
select columns from table_name;
3.8、表名重命名
rename table old_name to new_name;
3.9、数据库的导入与导出
1)导出所有数据库:
	mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]
2)导出数据和数据结构:
	mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]
	备注:-h localhost 可以省略,其一般在虚拟主机上用。
3)只导出数据不导出数据结构:
	mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]
4)导出数据库中的Events:
	mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]
5)导出数据库中的存储过程和函数:
	mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]

--从外部文件导入数据库中
1)使用“source”命令
	首先进入“mysql”命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。
	mysql>source [备份文件的保存路径]
2)使用“<”符号
首先进入“mysql”命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS 界面。最后执行下面操作。
mysql -u root –p < [备份文件的保存路径]
3.10、其他常见的DDL、DCL、DML、TCL命令。

四、四大类SQL语言(DDL,DML,DCL,TCL)

4.1、DDL(Data Definition Language)数据定义语言

create database  - 创建新数据库 
alter database   - 修改数据库 
create table     - 创建新表 
alter table      - 变更(改变)数据库表 
drop table 		 - 删除表 
create index     - 创建索引(搜索键) 
drop index       - 删除索引

4.2、DML(Data Manipulation Language)数据操作语言

select		     - 从数据库表中获取数据 
update 		  	 - 更新数据库表中的数据 
delete           - 从数据库表中删除数据 
insert into      - 向数据库表中插入数据

4.3、DCL(Data Control Language)数据控制语言

grant 			 - 授权 
revoke 			 - 撤销授权 
deny 			 - 拒绝授权

4.4、TCL(Transaction Control Language)事务控制语言

savepoint 		 - 设置保存点 
rollback 		 - 回滚 
commit 			 - 提交	

五、数据类型

5.1、数值类型

5.2、日期时间类型

5.3、字符串类型

5.4、enum类型

ENUM 中文名称叫枚举类型,它的值范围需要在创建表时通过枚举方式显式指定,对 1~
255 个成员的枚举需要 1 个字节存储;对于 255~65535 个成员,需要 2 个字节存储。最多
允许有 65535 个成员。ENUM 类型是忽略大小写的,ENUM 类型只允许从值集合中选取单个值,而不能一次取多个值。

5.5、set类型

Set 和 ENUM 类型非常类似,也是一个字符串对象,里面可以包含 0~64 个成员。根据
成员的不同,存储上也有所不同。

  • 1~8 成员的集合,占 1 个字节。
  • 9~16 成员的集合,占 2 个字节。
  • 17~24 成员的集合,占 3 个字节。
  • 25~32 成员的集合,占 4 个字节。
  • 33~64 成员的集合,占 8 个字节。

Set 和 ENUM 除了存储之外,最主要的区别在于 Set 类型一次可以选取多个成员,而 ENUM
则只能选一个。SET 类型可以从允许值集合中选择任意 1 个或多个元素进行组合,所以对于输入的值只要是
在允许值的组合范围内,都可以正确地注入到 SET 类型的列中。

六、运算符

6.1、算术运算符

6.2、比较运算符

6.3、逻辑运算符

6.4、位运算符

6.5、运算符优先级

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐