查看SequoiaDB的版本:sequoiadb --version
查看 SequoiaDB 巨杉数据库存储引擎节点列表:sdblist
查看 MySQL 实例状态: sdb_sql_ctl status
登录Mysql (注意这里使用mysql -u root 不能登录,不确定是什么原因,感觉应该是因为默认的不是127.0.0.1:3306)
创建并使用database
创建自增逐渐字段的表
创建包含唯一索引的manager 表
写入操作:
查找和排序:
两个表的关联功能:
数据的更新:
数据的消除:
事务操作:
验证事务回滚能力:
开始事务:begin;
写入数据:insert into manager values(2,"product department");
查找数据:select * from manager where empno =2 ;
回滚事务操作:rollback;
验证回滚:select * from manager;
验证提交能力:
开始事务:begin;
写入数据:insert into manager values(2,"product department");
提交事务:commit;
查询数据:select * from manager;
验证SequoiaDB对标准Mysql存储过程的支持:
创建存储过程:
DELIMITER //
CREATE PROCEDURE delete_match()
BEGIN
//注意:这里SQL语句前面要加入空格
DELETE FROM manager WHERE empno = 2;
END//
DELIMITER ;
调用存储过程:call delete_match();
调用:
查看效果:
创建视图:
CREATE VIEW manager_view AS
SELECT
e.ename, m.department
FROM
employee AS e, manager AS m
WHERE
e.empno = m.empno;
查询视图数据:
select * from manager_view;
添加和删除主键:
CREATE TABLE department
(
deptno INT PRIMARY KEY,
dname VARCHAR(128),
loc VARCHAR(128)
);
查看表结构:desc department
删除主键:
添加和删除索引:
创建索引:alter table emplyee add index name_idx(ename);
查看表的索引:show index from employee
删除创建索引:drop index name_idx on employee
在线修改列操作:
查看当前表结构:desc employee
扩容employyee表的ename字段:alter table emplyee modify column ename varchar(130)
验证truncate方法:
统计employee表:select count(*) from employee;
使用 TRUNCATE 方法清空 employee 表:truncate table employee;
SequoiaDB的操作:
进入SequoiaDB的交互界面:sdb
使用JavaScript链接协调节点,并且获取数据库链接:var db = new Sdb("localhost",11810);
CRUD操作:
插入:db.company.employee.insert({ename:"cpy",age:21});
查询:db.company.employee.find({ename:"lwr"});
修改:db.company.employee.update( { $set: { ename: "Ben" } }, { ename: "Abe" } );
删除:db.company.employee.remove({ename:"lwr"});
回滚能力:
开始事务:db.transBegin()
写入数据:db.company.manager.insert( { empno: 3, department: "Personnel Department" } );
查询数据:db.company.manager.find( { empno: 3 } );
回滚事务:db.transRollback();
提交能力:
开启事务:db.transBegin();
写入数据:db.company.manager.insert( { empno: 3, department: "Personnel Department" } );
查询数据:db.company.manager.find( { empno: 3 } );
提交事务:db.transCommit();
数据分布验证:
//插入数据
for (var i = 0; i < 1000; i++)
{
db.company.employee.insert( { ename: "TEST", age: 20 } );
}
查看内容数:db.company.employee.count()
链接多个节点并统计数据:
var db1 = new Sdb("localhost", 11820);
var db2 = new Sdb("localhost", 11830);
var db3 = new Sdb("localhost", 11840);
·db1.company.employee.count();
db2.company.employee.count();
db3.company.employee.count();
查询employee表的编目信息快照:db.snapshot(SDB_SNAP_CATALOG, { Name: "company.employee" } );
关闭数据库链接:
db.close();
db1.close();
db2.close();
db3.close();
退出SequoiaDB的Shell交互界面
quit;