MariaDB 基础使⽤
mariadb的基本概念
DQL 数据查询语言 select
DDL 数据定义语言 create drop alter
DML 数据操作语言 insert delete update
DCL 数据控制语言 grant revoke commit rollback

使⽤ MariaDB 的 root ⽤户登陆,然后使⽤ show databases 命令查看当前数据库服务中都有哪些具体的库 database
1、登陆
    mysql -uroot -p密码           #登陆myriadb

2、显示数据库
show databases; #显示数据库有哪些?

使⽤ use 命令可以指定当前要操作的默认数据库,之后可以使⽤ show tables 查看当前默认数据库下的所有表信息。 mysql 库是 MariaDB 的
内部管理数据库,存放着很多和 MariaDB 相关的信息。该库中的 user 表存放着所有 MariaDB 的⽤户信息。
1、use mysql;#使用mysql数据库
2、show tables;#展示mysql数据库下的所有表
3、desc user;展示mysql数据库下user表结构
4、select User, Host, Password from user;#展示user表中用户名,主机名,密码字段

创建和删除数据库
create database 库名称;#创建库
drop database 库名称; #删除库

创建表
create table 表名; #创建表
drop table 表名; #删除表
例子
create table student(
stuid int(10) unsigned not null auto_increment primary key,
name varchar(50) not null,
gender enum('F',"M") not null
)
engine=innodb default charset=utf8;

表结构修改: alter table 表名;
alter table student add phone varchar(50) not null; #增加字段

alter table student drop gender; #删除gender字段

alter table student change phone phone varchar(20) not null; #change用来修改字段名称为phone1和属性修改为varchar(20)

alter table student modify name varchar(20) not null; #modify只能修改字段属性

使⽤ DML 管理数据库中的表数据
使⽤ insert 语句在 school 库的 student 表中添加数据记录

insert into student (Name, phone) values ("gordon", "15201039555"); #插入值

在表中添加数据格式为 insert into 表名 [(对应的字段列表,如果不写代表默认所有字段)] values ( 对应字段中每⼀个字段的具体值 ) ;
查看表中的数据可以使⽤ select from 表名 ,⼀般不建议写 号,他代表所有字段,表数据内容⽐较少时可以测试使⽤

使⽤ delete 删除表中的指定数据记录,delete 后不加 where 条件代表删除所有数据,⼀般我们操作时肯定要指明过滤条件的,删除表中的数据时,对应的 where 判断条件可以根据实际需要写的很复杂,具体的细节查看官⽅⽂档。

delete from student; #删除student表内所有数据
delete from student where name="mimi"; #指定删除名字为mimi的数据记录
delete from student where phone="123"; #指定删除电话为123的数据记录

使⽤ update 语句修改表中的数据记录

格式为 update 表名 set 字段=值 where 过滤条件

update student set phone="123" where name="gordon"; #修改名字为gordon的电话为123
update student set name="hehe" where phone="123"; #d修改电话为123的名字为hehe

使⽤ DQL 单表数据查询

数据库查询可以使⽤ select 完成,
格式为 select 字段列表 from 表名 where 过滤条件,
其中字段列表可以使⽤ * 号 代表所有字段

select * from student; #查看student表的所有字段

select stuid,phone from student; #查看student表中的stuid和phone字段的数据记录

select stuid,phone from student where stuid >6; #查看student表中满足stuid>6的stuid和phone字段

对结果进⾏排序, 使⽤ order by 排序字段名 即可, 默认顺序,使⽤ desc 实现逆序

select stuid,phone from student order by phone; #按电话排序
select stuid,phone from student order by phone desc; #按电话实现逆序

限定只需要返回结果的前⼏条记录,使⽤ limit 记录调试 

select * from student limit 2; #只显示前两条记录

对指定重复的字段进⾏去重, 使⽤ select distinct 去重的字段 from 表名 where 判断条件 即可, distinct 后可以是⼀个字段,也可以是多个字段,当为多个字段时代表他们的组合不能重复, * 号 代表 所有字段的组合不能重复

select distinct name,phone from student; #从student表中对名字和电话都重复的记录做去重处理

查询时对数据进⾏分组,查询时以 student 表中的 姓名进⾏分组,然后处理改组⾥的数据,使 ⽤ group by 分组的字段名 即可实现,分组后显⽰的字段值默认为分组中第⼀次出现的记录信息值,因此⼤多数要显⽰的字段都需要进⾏运算

select * from student group by name; #对姓名进行分组

select count(stuid),name,phone from student group by name; #对姓名进行分组后,统计学号的数量

where 可以对单⾏数据进⾏过滤, having 可以对分组处理后的数据再次进⾏过滤

select count(stuid),name,phone from student group by name having phone="133"; #按名字分组后再次进行过滤筛选出电话为133的记录

使⽤ DQL 进⾏多表查询数据

多表连接查询中的内连接查询,也叫等值连接 使⽤ select 字段名 from 表名1 inner join 表名2 on 表名1.字段=表名2.字段
内连接查询两个表,inner join 前⾯的表为参照表,按照参照表的顺序匹配⽣成
查询结果,参照表中如果有不匹配 on 条件的记录,则跳过该记录。

select * from class inner join student on
student.classid=class.classid;

外连接查询,左外链接查询和内连接查询的差异在于,如果参照表中有不匹配 on 条件的记录,则也会
⽣成对应的数据,结果为参照表信息和空信息组成查询记录。使⽤ 表1 left join 表2 on 条件 即可

select * from student left join class on student.classid=class.classid;

右外连接查询和上⾯的左外链接查询参照表不⼀样,左外链接以左边的表为参照,右外连接以右⾯的表为参照
使⽤ 表1 right join 表2 on 条件 即可

select * from student right join class on student.classid=class.classid;

嵌套查询,⽤⼀次查询的结果作为查询匹配条件的范围或者作为⼀个新表来被再次查询

select * from student where student.classid in (select classid from class where classid <3); #括号内为一次查询结果,此处查询结果作为查询匹配条件的范围使用

select a.stuid,a.name,a.classname from (select student.stuid,student.name,student.gender,class.classname from student inner join class on student.classid=class.classid)as a;
#将括号内的作为整体赋给变量a,通过a.字段,引用查询结果内的字段,此处查询结果赋给变量作为一个新表再次查询

合并查询结果,当多个查询的结果⼜相同个数和内容的字段时,使⽤ union 会将这些查询结果去重合并

select from student where stuid <=3 union select from student where stuid >=3; #合并去重stuid=3的数据记录

转载于:https://blog.51cto.com/14231434/2390084

mariadb 基础使用相关推荐

  1. MariaDB基础(二)

    MariaDB基础(二) 介绍关于MariaDB的如下知识点: 1. 查询缓存 2. 索引 3. EXPLAIN 1.查询缓存: 1)什么是缓存? 缓存就是数据交换的缓冲区,即Cache,存放在内存中 ...

  2. MariaDB基础知识和基础命令的使用

    一.目标 MariaDB最基本的一些知识学习和基础命令的使用 二.平台 centos7.6,  5.5.60-MariaDB MariaDB Server 三.解析 1.*** 四.MariaDB基本 ...

  3. MySQL/MariaDB基础及简单SQL语句

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 在Linux操作系统内核中提供了MySQL或MariaDB的rp ...

  4. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  5. MariaDB杂记(2)

    MariaDB MariaDB基础应用 1.创建testdb数据库,并设置为默认库 MariaDB [(none)]> CREATE DATABASE testdb; Query OK, 1 r ...

  6. SQL注入 ——sql数据库操作基础(一)

    本章目的 普及MySQL( MariaDB)薮据库的基础与进阶语法,加深对SQL命令语句的理解,为后续SQL注入攻击与防护实验打下坚实的基础. 基本概念 数据库分类 关系型数据库 ●关系型数据库模型是 ...

  7. MariaDB Spider 数据库分库分表实践 分库分表

    分库分表 一般来说,数据库分库分表,有以下做法: 按哈希分片:根据一条数据的标识计算哈希值,将其分配到特定的数据库引擎中: 按范围分片:根据一条数据的标识(一般是值),将其分配到特定的数据库引擎中: ...

  8. mac系统装mysql还是mariadb_Mac安装MariaDB数据库

    Mac安装MariaDB数据库 参考资料: 如果你是Mac上的开发者,你可以在OS X上通过Homebrew来简单的获取安装最新稳定版本的MariaDB,接下来我们将一步步的来指导安装MariaDB数 ...

  9. 第十七章 MariaDB

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

最新文章

  1. c语言程序既可以编译执行也可以解释执行,2016年山东农业大学信息科学与工程学院C语言程序设计(同等学力加试)复试笔试仿真模拟题...
  2. Cookie和Session区别
  3. resnet50网络结构_Resnet50详解与实践(基于mindspore)
  4. java ab与ab的区别 a|b与a||b的区别 break、continue、return
  5. 如何在WINDOWS XP下卸载打印机驱动程序
  6. java格斗代码_java学习2打架代码编写
  7. excel查标准正态分布_excel2010正态分布的方法步骤图
  8. 【膜拜原文作者】深入浅出的讲解傅里叶变换
  9. 短视频剪辑如何入门?给初学者的三个小建议,助你快速入门
  10. java barchart_JAVA-14 用Javafx绘制barchart的另一个实例 2020-11-09
  11. 简单的快速提取Fbank特征的方法
  12. python英语单词 扇贝英语安卓下载_扇贝单词英语版app最新版
  13. OpenGL——场景设计
  14. 数论day2——离散对数、元根
  15. 新安装的MySQL,在installer界面start Server无法连接成功
  16. 两边双虚线是什么意思_两条双黄虚线什么意思
  17. 【算法学习笔记】64. 枚举法 SJTU OJ 1381 畅畅的牙签
  18. 第二章:Djgo后台管理
  19. chatgpt赋能Python-python_patsy
  20. 利用Java反序列化漏洞在Windows上的挖矿实验

热门文章

  1. 前沿 | DeepMind 最新研究——神经算术逻辑单元,有必要看一下!
  2. 如何用Python实现iPhone X的人脸解锁功能?
  3. 技术干货 | 如何选择上班路线最省时间?从A/B测试数学原理说起
  4. Netty整合SpringMVC,实现高效的HTTP服务请求
  5. 颜值绝绝子的swagger-ui
  6. 3天,我把MySQL索引、锁、事务、分库分表撸干净了!
  7. 跟我学Springboot开发后端管理系统9:AOP+logback+MDC日志输出
  8. 浅谈 CAP 和 Paxos 共识算法
  9. 也许是东半球直接底气的分库分表实践了
  10. 河北省高校数据挖掘邀请赛来了!