Hbase
- Hbase简介数据库基本语句三表关联链接
1.Hbase简介
hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。
数据库基本语句
#创建库
CREATE DATAbase yeshu DEFAULT CHARSET utf8;
#使用库
USE yeshu;
#创建主表
CREATE TABLE temp(id INT,NAME VARCHAr(20),pwd VARCHAr(20),PRIMARY KEY(id,NAME));
#删除主键(修改表结构)
ALTER TABLE temp DROp PRIMARY KEY;
#添加主键
ALTER TABLE temp ADD PRIMARY KEY(id);
#副表
CREATE TABLE temp2(
id INT,
NAME VARCHAr(20),
classes_id INT,
FOREIGN KEY(classes_id) REFERENCES temp(id)
);
- 三表关联
CREATE DATAbase IF NOT EXISTS info DEFAULT CHARSET utf8;
USE info;
CREATE TABLE IF NOT EXISTS stu
(
NO INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAr(20)
);
#插入数据
INSERT INTO stu(NAME)VALUES(“张三”),(“李四”),(“王二”),(“麻子”),(“王思”),(“李斯”);
#创建科目表
CREATE TABLE IF NOT EXISTS sub
(
subno INT PRIMARY KEY AUTO_INCREMENT,
subname VARCHAr(20)
);
#插入数据
INSERT INTO sub(subname)VALUES(“java”),(“python”),(“html”),(“hadoop”),(“js”);
#创建中间表----分数表
CREATE TABLE IF NOT EXISTS score
(
NO INT,
score INT,
subno INT
);
#插入数据
INSERT INTO score(NO,score,subno)VALUES(1,88,1),(2,53,3),(3,65,3),(4,75,4);
#三表关联查询,第一个表关联中间表的结果,然后关联第二个表
SELECT st.,sc.,su.* FROM stu st
INNER JOIN score sc ON st.no=sc.no
LEFT JOIN sub su ON sc.subno=su.subno
4.链接
#内连接,…inner join…on
SELECt * FROM websites w INNER JOIN access_log a ON w.id=a.site_id;
#左连接 left join…on
SELECt * FROM websites w LEFT JOIN access_log a ON w.id=a.site_id;
#右链接 right join…on
SELECt * FROM websites w RIGHT JOIN access_log a ON w.id=a.site_id;
#全连接=左连接 union 右链接
SELECt * FROM websites w LEFT JOIN access_log a ON w.id=a.site_id
UNIOn
SELECt * FROM websites w RIGHT JOIN access_log a ON w.id=a.site_id;



