MariaDB数据库实际操作(合并了MySQL5.6)

MariaDB简介:

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基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎
在这里插入图片描述

MariaDB的前世今生:

2009年,Michael Widenius迈克尔·维德纽斯,创建新项目mariadb以规避mysql关系型数据库闭源的风险,直到5.5的版本,一直按照MySQL的版本进行发行。使用者基本上不会感受到和MySQL不同的地方。
2012年,MariaDB开始按照自己的节奏和版本发行方式进行发行,初始版本为:10.0.0,此版本以MySQL5.5为基础,同时合并了MySQL5.6的相关功能。

MariaDB官网:https://downloads.mariadb.org/

在这里插入图片描述
点击 Download 10.5.2 Beta Now!

在这里插入图片描述

注:在CentOS 7.0中,已经使用MariaDB替代了MySQL数据库。

Mariadb安装

[root@network ~]# firewall-cmd --add-port=3306/tcp –permanen
[root@network ~]# firewall-cmd --reload
[root@network ~]# yum install mariadb-server mariadb -y
[root@network ~]# systemctl start mariadb
[root@network ~]# systemctl enable mariadb

Mariadb安全配置

[root@network ~]# mysql_secure_installation
Set root password? [Y/n] y   						#设置root密码
New password: root 								#新密码
Re-enter new password: root							#重新输入新密码
Password updated successfully!						#密码更新成功
Remove anonymous users? [Y/n] y					#删除匿名用户?
Disallow root login remotely? [Y/n] y					#不允许远程根登录?
Remove test database and access to it? [Y/n] y	   #删除测试数据库并访问它?
Reload privilege tables now? [Y/n] y					#现在重新加载特权表?

Mariadb登录

[root@network ~]# mysql -uroot -p
Enter password:root                                #输入密码

Mariadb字符集

MariaDB [(none)]> show variables like 'character%';

在这里插入图片描述

注:发现上面的数据库的字符编码有些不是utf8,需要修改
[root@network ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8

[root@network ~]# systemctl restart mariadb

[root@network ~]# mysql -uroot -proot

在这里插入图片描述

注:都已经变成utf8现在数据库不会出现中文乱码情况了。

Mariadb基本语法

Mariadb创建

创建库

语法:create database 库名;
MariaDB [(none)]> create database 计算机科学与技术;	
MariaDB [(none)]> use 计算机科学与技术;							#选择数据库

创建表

语法:create table 表名(字段);
MariaDB [计算机科学与技术]> create table student (学号 int(10),姓名 char(10));	

插入单条记录

语法:insert into 表名 values (字段值);
MariaDB [计算机科学与技术]> insert into student values (20201101,"小明");

插入多条记录

语法:insert into 表名 values (字段值), (字段值);
MariaDB [计算机科学与技术]> insert into student values (20201102,"庞统"),(20201103,"孔明");

指定插入

语法:insert into 表名 (字段)values(字段值);
MariaDB [计算机科学与技术]> insert into student (学号,姓名)values(20201104,'小白');

Mariadb查询

MariaDB [计算机科学与技术]> select * from student;			 #查询表内所有内容

在这里插入图片描述

语法:select * from student where 字段=字段值
MariaDB [计算机科学与技术]> select * from student where 姓名="小白";	 #过滤查询

在这里插入图片描述

Mariadb删除

删除表内指定内容:

MariaDB [计算机科学与技术]> delete from student where 姓名="小白";

在这里插入图片描述
删除表内所有内容

MariaDB [计算机科学与技术]> delete from student;

在这里插入图片描述

查询表

MariaDB [计算机科学与技术]> show tables;

在这里插入图片描述
删除表

MariaDB [计算机科学与技术]> drop table student;

在这里插入图片描述
查询库
在这里插入图片描述
删除库

MariaDB [(none)]> drop database 计算机科学与技术;

在这里插入图片描述
创建新的库与表

MariaDB [(none)]> create database 计算机科学与技术;
MariaDB [(none)]> use 计算机科学与技术;
MariaDB [计算机科学与技术]> create table student (编号 int(10),姓名 char(10),学号 int(10));
MariaDB [计算机科学与技术]> insert into student values (1,"孔明",20201101);
MariaDB [计算机科学与技术]> insert into student values (2,"庞统",20201102),(3,"法正",20201103);
MariaDB [计算机科学与技术]> insert into student (编号,姓名,学号)values(4,'姜维',20201104);

在这里插入图片描述

Mariadb修改

修改表内容

语法:update 表名 set 字段="新内容" where 字段="字段值"
MariaDB [计算机科学与技术]> select * from student;		    #查询表内所有内容
MariaDB [计算机科学与技术]> update student set 姓名="诸葛亮" where 编号="4";

在这里插入图片描述
修改表结构

语法:alter table 表名 modify 字段 新数据类型;
MariaDB [计算机科学与技术]> alter table student modify 姓名 varchar(10);

在这里插入图片描述
添加表结构

语法:alter table 表名 add 字段 数据类型;
MariaDB [计算机科学与技术]> alter table student add 性别 char(10);

在这里插入图片描述
删除表结构

语法:alter table 表名 drop 字段;
MariaDB [计算机科学与技术]> alter table student drop 性别;

在这里插入图片描述

指定位置插入表结构

插入第一列

语法:alter table 表名 add 字段 数据类型 first;					# first第一
MariaDB [计算机科学与技术]> alter table student add ID int(10) first;  #插入某列后面

插入某列后面

语法:alter table 表名 add 字段 数据类型 after字段;				 # after之后
MariaDB [计算机科学与技术]> alter table student add 性别 varchar(10) after 姓名;

效果图在这里插入图片描述

注:默认添加字段就是在最后面,没有插入指定字段前面,是因为插入字段之后已经够用。

例子:我要在姓名之前插入字段,我就用after在编号之后就能完成效果。,
修改表名

MariaDB [计算机科学与技术]> alter table student rename student1;

在这里插入图片描述

注:没有修改数据库名称的命令,如果想换数据库名称就新建数据库然后导入数据。

Mariadb查询

查询库:

MariaDB [(none)]> show databases;

选中库

MariaDB [(none)]> use 计算机科学与技术;

查询表:

MariaDB [计算机科学与技术]> show tables;

效果图
在这里插入图片描述

注:dabases数据库,tables表,use使用。

指定查询

语法:select 内容 from 表;
MariaDB [计算机科学与技术]> select 姓名,学号 from student;

查询所有

MariaDB [计算机科学与技术]> select * from student;

在这里插入图片描述
单项筛选查询

语法:select * from 表名 where 字段 比较或值;
MariaDB [计算机科学与技术]> select * from student where 编号>1;

多项筛选查询

语法:select * from 表名 where 字段 比较或值 and 字段 比较或值;

效果图
在这里插入图片描述

注:使用and语句可以多重过滤可以。

小实验 (多重过滤查询)

多重过滤查询

MariaDB [计算机科学与技术]> update student set 性别="男" where 编号=1;
MariaDB [计算机科学与技术]> update student set 性别="男" where 编号=2;
MariaDB [计算机科学与技术]> update student set 性别="男" where 编号=3;
MariaDB [计算机科学与技术]> update student set 性别="女" where 编号=4;
MariaDB [计算机科学与技术]> select * from student where 编号>1 and 性别="男";

在这里插入图片描述
去重查询

语法:select distinct 字段from 表名;
MariaDB [计算机科学与技术]> insert into student values(NULL,5,"诸葛亮","男",20201104);
MariaDB [计算机科学与技术]> select * from student;
MariaDB [计算机科学与技术]> select distinct 姓名,学号 from student;

在这里插入图片描述

小实验(表内多项内容去重)

表内多项内容去重

MariaDB [计算机科学与技术]> select distinct 姓名,学号,性别 from student;

在这里插入图片描述
表内所有内容去重

MariaDB [计算机科学与技术]> select distinct * from student;

在这里插入图片描述

数据库备份

导出语法:

语法:mysqldump -u用户 -p -B 迁移的库名>导出名称.sql					#导出
mysqldump -uroot -proot -B 计算机科学与技术> /root/计算机科学与技术.sql

在这里插入图片描述
导入语法:

导入语法:mysql -uroot -proot < 导入名称.sql								 #导入
[root@network ~]# mysql -uroot -proot < /root/计算机科学与技术.sql

在这里插入图片描述
检查数据
在这里插入图片描述

注:保存快照,学习进阶语法。

MariaDB总结

数据库基本操作:增>>>查
数据库结构知识:库>>表结构>内容
Windows创建文件夹>创建文件>插入数据

在这里插入图片描述

扩展

扩展:为什么没有选选中库,就不能修改表中的数据,或添加。就像上面图片一样,你没有进入计算机科学与技术的文件夹,你根本找不到student这个文件。
导入数据库
语法:mysqldump -u用户 -p -B 迁移的库名>导出名称.sql				
导出数据库
语法:mysql -uroot -proot < 导入名称.sql
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值