【关于使用Wrokbench建表查询】

`show databases;/创建一个数据库db_library/create database db_library;/查看数据库/show databases;/创建一个数据库db_libraryinfo/create database db_libraryinfo;show databases;/删除数据库db_libraryinfo/drop database db_libraryinfo;/使用数据库db_library/use db_library;/创建一个表t
摘要由CSDN通过智能技术生成

`show databases;
/创建一个数据库db_library/
create database db_library;

/查看数据库/
show databases;

/创建一个数据库db_libraryinfo/
create database db_libraryinfo;
show databases;

/删除数据库db_libraryinfo/
drop database db_libraryinfo;

/使用数据库db_library/
use db_library;

/创建一个表t_reader/
create table t_reader(
Reader_id char(6),
Reader_name varchar(50),
Reader_sex char(2),
Reader_birthday date,
Reader_borrowtotal float);
drop table t_reader;
/查看表t_reader/
describe table t_reader;
show databases;
alter table t_reader add Book_name varchar(50);
alter table t_reader drop Book_name ;

create table t_book(
ISBN char(17),
Book_name varchar(50),
Book_author varchar(50),
Book_price decimal(6,1),
Perss_id char(3)
);
describe table t_book;
alter table t_book add Return_data date;
alter table t_book drop Return_data ;

create table t_perss(
Perss_id char(3),
Perss_name varchar(50),
Website varchar(50),
Perss_telephone varchar(20),
Perss_email varchar(50),
Perss_address varchar(100),
Postcode char(6)
);
describe table t_perss;
drop table t_perss;

create table t_borrow_record(
Borrow_id char(6),
Reader_id char(6),
ISBN char(17),
Borrow_data date);
describe table t_borrow_record;

create table t_return_record(
Return_id char(9),
Borrow_id char(6),
Return_data date);
describe table t_return_record;
alter table t_return_record add ISBN char(17);
alter table t_return_record drop ISBN ;

create table t_age(
age_id int,
age_min int,
age_max int,
age_group varchar(45)
);
alter table t_age modify age_id int NOT NULL;
alter table t_age add primary key(age_id);

/查看数据库中的表/
show tables;

/查看表结构/
desc t_book;

/创建一个跟t_book结构相同的表t_book1/
create table t_book1 like t_book;

/查看表结构是否相同/
desc t_book;
desc t_book1;

/删除表t_book1/
drop table t_book;
show tables;

/修改表名/
/将表名t_book修改为t_book1/
alter table t_book rename t_book1;

/将表名t_book1修改为t_book/
alter table t_book1 rename t_book;

/添加字段/
/放在表中第一个加first,放在最后一个加after/
/在表reader中添加一个字段reader_address/
alter table t_reader add reader_address varchar(100);
desc t_reader;

/删除字段/
alter table t_reader drop reader_address;
desc t_reader;

alter table t_reader add reader_address varchar(100);
/修改字段数据类型/
/将地址reader_address的数据类型由varchar改为char/
alter table t_reader modify reader_address char(100);
desc t_reader;

/修改字段名称/
/将reader_address修改为address/
alter table t_reader change reader_address address char(100);
desc t_reader;

/修改字段顺序/
/将字段address调整到字段名reader_sex之后/
alter table t_reader modify address varchar(100) after reader_sex;
desc t_reader;
show tables;

/1.创建新表,t_reader1,reader_id设为非空,性别默认为“男”/
create table t_reader1(
Reader_id int NOT NULL,
Reader_name varchar(50),
Reader_sex char(2) default"男",
Reader_birthday date,
Reader_borrowtotal int);
desc t_reader1;
drop table t_reader1;
show tables;

/2.已存在的表t_book,设置ISBN非空/
alter table t_book modify ISBN char(17) NOT NULL;
desc t_book;

/设置表t_reader中reader_borrowtotal的默认值为0/
alter table t_reader modify reader_borrowtotal INT default 0;
desc t_reader;

/插入验证/
insert into t_reader1(Reader_id)value(“101101”);
insert into t_reader1(Reader_id)value(“101102”);
/查看表结构,可以看到两元祖性别默认为男/
desc t_reader1;
insert into t_reader1(Reader_sex)value(“女”);
/出现错误,因为Reader_id设为非空,Reader_id没有默认值/
desc t_reader1;

/查看表中的数据/
select*from t_reader1;
/删除表t_reader1/
drop table t_reader1;

insert into t_book(ISBN)value(“9-000_1234_567”);
insert into t_book(Book_name)value(“MYSQL数据库”);
desc t_book;
/同样提示ISBN没有默认值/
/查看表中数据/
select*from t_book;

/创建新表t_reader2与t_reader表结构一致,设置reader_id为整形,且为非空自增和唯一性约束/
use db_library;
create table t_reader2 like t_reader;
alter table t_reader2 modify Reader_id int unique auto_increment;
desc t_reader2;
/删除表t_reader2/
drop table t_reader2;
show tables;

/对已存在的表t_perss的perss_id 设置非空唯一键与自增/
alter table t_perss modify Perss_id int unique auto_increment;
desc t_perss;

/插入验证/
insert into t_perss(Perss_name)value(“机械工程出版社”);
insert into t_perss(Perss_name)value(“高等教育出版社”);
/查看表中数据/
select*from t_perss;

/将初始值设置成100/
alter table t_perss auto_increment=100;
/再次插入/
insert into t_perss(Perss_name)value(“中华民族出版社”);
insert into t_perss(Perss_name)value(“大唐出版社”);
/查看表中数据,刚插入编号为100,101/
select*from t_perss;
/验证唯一性/
insert into t_perss(Perss_id)value(“101”);
/提示错误,不能插入重复的记录/

insert into t_perss(Perss_id)value(“102”);
/插入成功/

/查看表中数据/
select*from t_perss;

/查看表中结构/
desc t_book;
desc t_perss;

/为数据表t_perss设置主键Perss_id,为t_book表设置主键ISBN和外键Perss_id/
/外键Perss_id参照t_perss表中的主键Perss_id/

/先删除自增/
alter table t_perss modify Perss_id int;

/删除唯一键/
alter table t_perss drop index Perss_id;

/为数据表t_perss设置主键Perss_id/
alter table t_perss add primary key(Perss_id);
/为数据表t_book设置主键ISBN/
alter table t_book add primary key(ISBN);
/为数据表t_book设置外键Perss/

/查看表结构/
desc t_perss;
desc t_book;

use db_library;
/设置外键//为数据表t_book设置外键Perss/
alter table t_book add constraint fk_pressid foreign key(Perss_id)references t_perss(Perss_id);
alter table t_perss modify Perss_id char(30);
alter table t_book modify Perss_id char(30);
alter table t_book add constraint fk_perssid foreign key(perss_id)references t_perss(perss_id);
/查看表中数据/
select*from t_book;
desc t_book;

/验证,插入两条记录,只有字段perss_id的值/
insert into t_perss(Perss_id)value(“101”);
insert into t_perss(Perss_id)value(“102”);
/查看插入结果/
select*from t_perss;

/再向t_book中插入两条数据/
insert into t_book(ISBN,Perss_id)value(“1-234-5678-910”,“101”);/主表中存在的值,可插入/
insert into t_book(ISBN,Perss_id)value(“1-234-5678-910”,“103”);/主表中不存在的值,不可插入/
/查看插入结果/
select*from t_book;

alter table t_book add book_copy INT;
alter table t_book add book_inventory INT;

/设置主键/
alter table t_book add primary key(perss_id);
alter table t_reader add primary key(reader_id);
alter table t_borrow_record add primary key(Borrow_id);
alter table t_return_record add primary key(Return_id);
/设置外键/
alter table t_return_record add constraint fk_borrowid foreign key(Borrow_id)references t_borrow_record(Borrow_id);
alter table t_borrow_record add constraint fk_readerid foreign key(Reader_id)references t_reader(Reader_id);
alter table t_borrow_record add constraint fk_ISBN foreign key(ISBN)references t_book(ISBN);
alter table t_borrow_record drop foreign key fk_ISBN;

select Reader_id,Reader_name from t_reader;/显示读者的id和姓名/
select*from t_book;/显示所有图书的信息/
select book_copy-book_inventory,Book_name from t_book;/查询所有图书借出数量/
select distinct Return_data as 还书日期 from t_return_record;/查询图书Return_data并命名为还书日期/

/1.查询t_book表中图书价格在30-50之间图书的ISBN和Book_name/
select ISBN,Book_name from t_book where Book_price between 30 and 50;
/查询t_book表中库存量在9-10之间的图书信息/
selectfrom t_book where book_inventory in(9,10);
/2.在t_perss表中查询出版社包含“北京”两个字的出版社信息/
select
from t_perss where Perss_address like “%北京%”;

/求出读者的平均年龄,最大年龄,最小年龄,以及读者人数/
select
AVG(year(curdate())-year(Reader_birthday)) as 平均年龄,
MAX(year(curdate())-year(Reader_birthday)) as 最大年龄,
min(year(curdate())-year(Reader_birthday)) as 最小年龄,
count(Reader_id) as 读者人数 from t_reader;

/按平均年龄的降序分男女排列/
/curdate获取当前的日期/
select
AVG(year(curdate())-year(Reader_birthday)) as 平均年龄,
Reader_sex from t_reader group by Reader_sex
order by 1 desc;/1是指select语句后的第一个字段,如选择性别排列可选2/
/desc降序排列/

/统计还书总量大于2:count()>=2*/
/每天:group by day(return_data)/
/升序count()ASD ASD可以省略,默认升序*/

/在t_reader表中统计每天还书总量,只显示还书总量大于2的记录,按还书总量升序排列/
select count()as 还书总量,return_data from t_return_record
group by day(return_data) having count(
)>=2 order by 1;

/多表查询/

/使用自连接查询/
select a.Reader_id /查询读者编号/
from t_borrow_record a inner join t_borrow_record b /两表分别命名连接/
on a.Reader_id=b.Reader_id /匹配条件为Reader_id/
where a.ISBN=‘978-7-04-039663-8’ and b.ISBN=‘978-7-04-055979-8’;
/筛选条件where,在表a中查询借阅书本ISBN为’978-7-04-039663-8’,并在表b中查询借阅书本ISBN为’978-7-04-055979-8’的读者信息/

/不用连接查询,使用其他方式查询/
select a.Reader_id
from t_borrow_record a , t_borrow_record b
where a.Reader_id=b.Reader_id
and a.ISBN=‘978-7-04-039663-8’ and b.ISBN=‘978-7-04-055979-8’;/同时借了两本书/

/等值查询/
/等值连接两个不同的表连接/
/查询所有女读者的借阅信息/
select t_borrow_record.*
from t_reader inner join t_borrow_record
on t_reader.Reader_id=t_borrow_record.Reader_id
where t_reader.Reader_sex=‘女’;

select a.Reader_id, a.Reader_name, a.Reader_birthday,b.age_group
from t_reader a inner join t_age b /对两表进行不等连接/
on timestampdiff(year,a.reader_birthday,curdate()) /时间差函数timestampdiff/
between b.age_min and b.age_max; /连接条件/

/left/right[outer] join:左/右外连接/
/创建一个新表查询:/
/新建 t_return_record1与 t_return_record表结构一致,
将数据全部拷贝至 t_return_record1,删除Borrow_id为’202102’和’202103’两条记录
create table t_return_record1 select
from t_return_record;
delete from t_return_record1 where Borrow_id=‘202102’or’202103’;*/

/外连接查询/
/查询已借出但是未归还的借阅信息,利用原有表格查询/
select A.,B.
from t_borrow_record a left join t_return_record b /* t_borrow_record左连接t_return_record*/
on a.Borrow_id=b.Borrow_id;

/in子查询/
/查询女读者的所有借阅信息/
/在t_reader表中查询性别为女的读者编号Reader_id;/
/在t_borrow_record表中查询这些Reader_id对应的借阅信息/
select t_borrow_record. *from t_borrow_record
where Reader_id in
(select Reader_id from t_reader where Reader_sex=‘女’);`@TOC

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值