欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MariaDB数据库管理系统安装和使用介绍

程序员文章站 2022-03-02 17:26:13
1 什么是mariadb? mariadb管理是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可 mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql...

1 什么是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的名字。

2 安装方式有那些?

可通过二进制格式安装也可以通过yum 安装。

3关系数据库常见?

数据库:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege

存储过程:procedure,过程无返回值

存储函数:function,过程有返回值

触发器:trigger

事件调度器:event scheduler,任务计划

4 登录及命令使用?

登录系统:mysql>mysql –uroot –p

系统帮助:mysql> help 或\h

查看状态:mysql>status 或\s

sql语句:

ddl: data defination language   #数据定义命令

create, drop, alter

dml: data manipulation language  #数据处理命令

insert, delete, update

dcl:data control language    #数据控制语句

grant, revoke

dql:data query language     #数据查询语句

select

sql语法规范:

在数据库系统中,sql语句不区分大小写(建议用大写)

但字符串常量区分大小写

sql语句可单行或多行书写,以“;”结尾

关键词不能跨多行或简写

用空格和缩进来提高语句的可读性

子句通常位于独立行,便于编辑,提高可读性

注释:

sql标准:

/注释内容/ 多行注释

– 注释内容 单行注释,注意有空格

mysql注释:#

必须以字母开头

可包括数字和三个特殊字符(# _ $)

不要使用mysql的保留字

同一schema下的对象不能同名

5 创建数据库和表格,及各自增删改:

创建数据库:

create database|schema [if not exists] ‘db_name’;

删除数据库:

drop database|schema ‘db_name’;

查看支持所有字符集: show character set;

查看支持所有排序规则:show collation;

查看数据库列表:show databases;

创建表:

create table students (id int unsigned not null primary key,name varchar(20)not null,age tinyint unsigned); #创建一个students 表,表里包含id,name,age三列,以及定义各自属性。

create table students ( id int unsigned not null,name varchar (20) not null, age tinyint unsigned,primary key(id,name)); #创建一个students表,表里包含id,name,age三列,主键定义在最后定义值是id 和name。

表操作:

查看所有引擎: show engines;

查看表:show tables [from db_name];

查看表结构:desc [db_name] table;

删除表:drop table ‘tb_name’;

查看表创建命令:show create table ‘tb_name’;

create table ddd (id int unsigned primary key,name varchar(20) not null,age tinyint unsigned not null);

修改表示例:

1 alter table students rename s1;

2 alter table s1 add phone varchar(11) after name;

3 alter table s1 modify phone int;

4 alter table s1 change column phone mobile char(11);

5 alter table s1 drop column mobile;

索引语法:

1 创建索引:

2 create index index_name on tbl_name;

3 删除索引:

4 drop index index_name on tbl_name;

5 查看索引:

6 show indexes from [db_name.]tbl_name;

1 insert into students values(1,'tom','m'),(2,'alice','f');
 2 insert into students(id,name) values(3,'jack'),(4,'allen');
 3 select * from students where id < 3;
 4 select * from students where gender='m';
 5 select * from students where gender is null;
 6 select * from students where gender is not null;
 7 select * from students order by name desc limit 2;
 8 select * from students order by name desc limit 1,2;
 9 select * from students where id >=2 and id <=4
10 select * from students where between 2 and 4
11 select * from students where name like ‘t%’
12 select * from students where name rlike '.*[lo].*';
13 select id stuid,name as stuname from students 

查找年龄在18-20岁之间的数据,并且排序。

select * from table1 where age between 18 and 20 order by age ;

查找名字以c打头的数据:%是所有的通配符

select * from table1 where name like "c%"

在student和emp表里找出id相同,显示其id和对应的name项。

select s.id e.name from student as s,emp as e where s.id=e.id;