mariadb 基础使用

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

时间: 2024-10-11 09:11:38

mariadb 基础使用的相关文章

MariaDB基础(1)--数据类型

MariaDB介绍      MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.

Mariadb基础总结

Mariadb基础总结 1.是什么? Mariadb是多用户,多线程的SQL数据库服务器.它是C/S架构,即client/server,客服端/服务端架构.MariaDB基于事务的Maria存储引擎,使用了Percona的 XtraDB,InnoDB的变体,性能十分的强大.mariadb由开源社区维护,采用GPL授权许可,完全兼容MySQL. 2.为什么选择mariadb? (1)开源!开源!开源!重要的事情说三遍! 其实还有更多: (2) 更多的存储引擎: Maria 存储引擎 PBXT 存储

MariaDB基础详解

数据库结构模型分类 1.层次模型 2.网状模型 3.关系模型 关系模型的组成部分 二维关系 表 row column 索引 index 视图 view (只包含固定字段,不包含其他字段) 关系型数据库的常见组件: 数据库 : Database 表 : table 行 : row 列 : column 索引 : index 视图 : view 用户 : user 权限 : privilege 存储过程 : procedure 存储函数 : function 触发器 : trigger 事件调度器

MariaDB基础(2)—管理篇

MariaDB的交互命令接口:mysql> 可运行的命令有两类: 客户端命令:在mysql客户端本地直接运行的命令 通过help获取完整列表: mysql> help 服务器端命令:由客户端将命令通过协议封闭成报文发往mysqld,由mysqld运行,并取回运行结果至客户端: 即SQL语句,这些语句必须有语句结束符,默认为分号; 客户端命令: quit, \q:退出客户端 help, \h:获取帮助信息 clear, \c: 中止正在编写的语句:类似bash中的Ctrl+c的功能: go, \

Mysql(Mariadb) 基础操作语句 (持续更新)

基础SQL语句,记录以备查阅.(在HeiDiSql中执行) # 创建数据库 Create Database If Not Exists VerifyIdear Character Set UTF8; # 创建表 Create Table If Not Exists VerifyIdear.MyTable( ID Bigint(8) unsigned Primary key Auto_Increment, Updatetime DateTime, name VarChar(128) )Engine

MySQL/MariaDB基础

数据库管理系统很早就有了,在最开始时,数据库管理的结构是层次化的,即层次模型,它是一个树形结构,可以通过有限次的查找来定位需要的数据,然而,这种查找还是需要遍历才能实现,所以这种模型应用时间不长久:之后有了网状模型,也就是多个树的集合:层次模型和网状模型都称为非关系型数据库.之后由Edgar Frank Codd提出了一个关系型数据库的模型,从此之后就有了关系模型,其中Oracle公司就是以此为原型开发了Oracle数据库:到现在又提出了反关系模型--No-SQL,它是非关系型的数据库,例如:键

MySQL/MariaDB基础知识

数据库:即数据存储的仓库或集合 数据库的组成: 1.  数据库 2.  数据表 3.  记录 4.  字段 5.  索引 6.  查询 7.  视图 8.  过滤器 1.  数据库 :  由一个或多个表组成以文件的形式存储在磁盘上的物理文件: 2.  数据表  :   一组按行排列的相关数据,由一组数据记录组成: 3.  记录     : 表中的一行称为一个记录(记录即行),由若干个字段组成: 4.  字段    : 表中的一列称为一个字段,也叫域,每个字段都有相应的描述信息,如数据类型,大小,

MariaDB基础(二)

介绍关于MariaDB的如下知识点: 1. 查询缓存 2. 索引 3. EXPLAIN 1.查询缓存: 1)什么是缓存? 缓存就是数据交换的缓冲区,即Cache,存放在内存中: 2)查询缓存的数据以何种形式存在? 查询缓存的数据以键值对(key/value)的形式存在; key    : 查询语句的哈希值(哈希值可理解为数据的×××,用于验证数据来源的真实性) value : 查询语句的查询结果 3)缓存命中的标准: 将查询语句的哈希值与数据的源哈希值做比较,相同则命中,反之则未命中: 4)什么

MySQL/MariaDB基础(2)

MariaDB查询缓存 缓存中的数据是开源形式的,以键值对(k/v)的形式存在 key:查询语句的hash值: value:查询语句的查询结果: 缓存中的数据主要是通过整个查询语句的hash值的比较,完全相同则命中:这样通过缓存响应客户端请求,可以提高检索效率:当然,也不是所有的查询数据都可以缓存,那么哪些数据不能够缓存呢? 1.要查询的数据库中可能包含敏感信息:如MySQL数据库中的各系统表: 2.在查询语句中包含有用户自定义的函数(UDF) 3.存储函数: 4.用户自定义变量: 5.对于临时