图书管理系统sql语句

mybatis写sql

查询书库列表

SELECT * FROM `stackroom`;

新增书库

INSERT INTO stackroom(type) VALUE(#{type});

修改书库类型

UPDATE stackroom SET type=#{type} where stack_id=#{id};

删除书库

DELETE FROM stackroom WHERE stack_id=#{id};

查询书库数量

SELECt count(1) FROM stackroom;

查询书本类型数量

SELECT count(0) FROM books;

查询全部书本类型 (分页)(分类)(动态SQL实现)

--从index(从0开始)开始向后lenth个
SELECT b_id,`name`,publisher,author,price,number,type FROM books JOIN stackroom ON books.stackid=stackroom.stack_id 
<if test="stackid!=null">	
 WHERE stackid = #{stackid}
</if>
<if test="index != null and length!=null">
  limit #{index},#{length};
</if>

查询某一本书通过书名

SELECT b_id,`name`,publisher,author,price,number,type FROM books JOIN stackroom ON books.stackid=stackroom.stack_id WHERE `name` like %#{bookname}% limit #{index},#{length}

新增一本书类型

INSERT INTO books(`name`,publisher,author,price,number,stackid)
VALUES(#{bookname},#{publisher},#{author},#{price},#{number},#{stackid});

修改一本书类型

UPDATE books set 
`name` = #{bookname},
publisher = #{publisher},
author = #{author},
price = #{price}
WHERE
b_id = #{bookid};

删除书本类型

Delete From books where b_id=#{bookid}

实体书与书类别对应 新增书本

INSERT INTO san(san,bid)VALUES(#{uuid},#{bid});
UPdate books Set number=number+1 where bid=#{bid}

查询一本未借出的实体书

SELECT san FROM san WHERE isborrow=1 AND bid=#{bookid} limit  1;

借书

borrow表的更新

INSERT INTO borrow(userid,sanid,borrow_time)
VALUES(#{userid},#{sanid},#{borrow_time});

san表的更新

UPDATE san SET
isborrow = 0;
WHERE san =#{sanid};

books表的更新

UPDATE books SET number=number-1 WHERE b_id=#{bookid};
还书

查询用户要还的书

SELECT b_id,`name`,publisher,author,price,isborrow FROM books
JOIN san ON books.b_id=san.bid
WHERE san.san IN
(
SELECT san FROM borrow 
WHERE borrow.userid=#{userid}
)

更新books表

UPDATE books SET number=number+1 WHERE b_id=#{bookid};

更新borrow表

UPDATE borrow SET return_time=#{time} where sanid=#{sanid}

更新san表

UPDATE san SET isborrow=1 where san.san=#{sanid}
查询书库

查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值