– 创建出版社表
CREATE TABLE public(
p_id INT PRIMARY KEY AUTO_INCREMENT, – 出版社ID
p_name VARCHAR(100), – 出版社名称
p_address VARCHAR(200) DEFAULT ‘北京市’, – 出版社地区
p_head VARCHAR(100) DEFAULT ‘未知’ – 出版社负责人
);
– 创建书籍表
CREATE TABLE book(
book_id INT PRIMARY KEY AUTO_INCREMENT, – 书籍ID
book_name VARCHAR(100) NOT NULL, – 名称
book_author VARCHAR(100) NOT NULL, – 作者
book_date DATETIME DEFAULT ‘2012-12-31’, – 出版时间
p_id INT, – 外键,出版社表
CONSTRAINT fk_p_id FOREIGN KEY (p_id) REFERENCES public(p_id) – 添加外键
);
– 添加数据
INSERT INTO public VALUES(NULL,‘吉林教育出版社’,‘吉林’,‘高岩’);
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘深圳’,‘未知’);
INSERT INTO book VALUES(NULL,‘三国演义’,‘罗贯中’,‘1984-09-01’,1);
INSERT INTO book VALUES(NULL,‘西游记’,‘吴承恩’,‘1984-01-01’,2);
– 查询
SELECT * FROM public;
SELECT * FROM book;
– 修改海天出版社负责人的名字为’老王’
UPDATE public p SET p.p_head
= ‘老王’;
– 新增一条java从入门到精通书籍.包括出版社(清华大学出版社).
INSERT INTO public VALUES(NULL,‘清华大学出版社’,‘未知’,‘未知’);
INSERT INTO book VALUES(NULL,‘java从入门到精通’,‘未知’,NULL,3);
– 四大名著:出版社与西游记相同,出版时间均为2013-01-01
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘吉林’,‘未知’);
INSERT INTO book VALUES(NULL,‘水浒传’,‘施耐庵’,‘2013-01-01’,4);
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘吉林’,‘未知’);
INSERT INTO book VALUES(NULL,‘红楼梦’,‘曹雪芹’,‘2013-01-01’,5);
/sql,html,面向对象从入门到精通,
出版社与<java从入门到精通(清华大学出版社—大毛)>一致.
出版时间均为2016-01-01/
INSERT INTO public VALUES(NULL,‘清华大学出版社’,‘未知’,‘大毛’);
INSERT INTO book VALUES(NULL,‘sql,html,面向对象从入门到精通’,‘未知’,‘2016-01-01’,6);
– 查询书籍表 按出版时间分组,各时间段分别出版了几本书.
SELECT COUNT(),b.book_date
FROM book b GROUP BY b.book_date
;
– 查询出版社表 各地区有多少个出版社
SELECT COUNT(),p.p_address
FROM public p GROUP BY p.p_address
;
– 查询出版社表 出版的书籍大于1 的出版社
SELECT COUNT(), p.p_name
FROM public p,book b WHERE p.p_id
= b.p_id
GROUP BY p.p_name
HAVING COUNT()>1;
– 找出出版时间最早的书籍
SELECT b.book_name
FROM book b WHERE b.book_date
= (SELECT MIN(b1.book_date
) FROM book b1);