简单SQL语句

以图书馆管理系统为例,介绍简单SQL语句。(单表/多表查询,插入数据,更新数据,删除数据以及建立索引)

单表查询


 (1)查询作者为“XXX”的图书的数量。

SELECT COUNT(*) AS 数量
FROM `book`
WHERE `author` = 'XXX';

 (2)查询出版单位为XXX出版社的图书明细。

SELECT *
FROM `book`
WHERE `publish`='XXX出版社';

 (3)检索2023年11月的借阅图书的读者人数。

SELECT COUNT( DISTINCT `user_id`)
FROM `book_borrow`
WHERE YEAR(`borrow_time`)= '2023' AND MONTH(`borrow_time`)= '11';

注意:
YEAR函数,从日期中提取出年份。
MONTH函数从哪个日期中提取出月份。

与此相似的还有day(),hour(),minute(),second()

插入数据

 (4)图书管理系统里需要新增一本刚采购的医药方面的书籍:书名为《这是一本书》、作者为XXX、定价为1000元、出版社为XXX出版社、ISBN编号为1234567890。要把它添加到图书表book里,图书分类选择“R 医药、卫生”。 

INSERT INTO`book`VALUES
('1','这是一本书','XXX','1000','1','XXX出版社','4','1000','1234567890',NOW(),NULL);

连接查询 

 (5)查询用户XX的借书记录,包括用户姓名、借阅图书名称、出版社、借书时间、归还时间。 

SELECT u.user_name,b.book_name,b.publish,w.borrow_time,w.return_time
FROM USER u, book b, book_borrow w
WHERE w.book_id = b.id AND w.user_id = u.id AND u.user_name = 'XX';

 (6)针对用户表user、图书表book、图书借阅表book_borrow建立一个用户借阅图书信息查询视图user_view,查询用户编号、登录名称、姓名、图书名称、出版社、借阅时间、归还时间。 

CREATE OR REPLACE VIEW user_view AS
SELECT u.id,u.login_name,u.user_name,b.book_name,b.publish,w.borrow_time,w.return_time
FROM USER u, book b, book_borrow w
WHERE w.book_id = b.id AND w.user_id = u.id ;

建立索引 

 (7)按book_name字段建立图书索引。索引名为:index;

CREATE INDEX index ON `book`(`book_name`);

 (8)按publish,book_name字段建立图书表复合索引。索引名为:index1 ; 

CREATE INDEX index1 ON `book`(`publish`,`book_name`);

更新数据 

 (9)更新S用户的部门为XX部。 (可以选择嵌套查询)

UPDATE `user` 
SET `dept_id`= (SELECT `id` FROM `dept` WHERE `dept_name`='XXX')
WHERE `user_name`='S';

注意:
update,select,delete均可以嵌套查询。

删除数据 

 (10)删除图书名称包含:“XXX”的所有图书

delete from `book` where `book_name` like '%XXX%';

模糊查询需要使用like关键字

 (11)删除用户XX的全部借书记录。 

DELETE FROM `book_borrow` 
WHERE`user_id`=(SELECT `id` FROM `user` WHERE `user_name`='XX');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大黄猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值