MariaDB数据库管理系统安装和使用介绍,
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;