企业数据库面试题解析

本文详细解析了企业数据库面试中常见的问题,涉及单表查询,如按条件筛选及计数;多表查询,包括作者与书籍关联查询及作者书籍数量统计;用户授权,包括不同级别的权限设置;以及数据库的备份与恢复策略,如全量备份、增量备份和binlog备份。通过这些实例,有助于理解并掌握数据库操作的核心技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

企业数据库面试题解析

  • 单表查询

库表student.report,有3个字段, 姓名、 学科、 成绩, 记录如下, 根据要求

完成SQL语句

Name

Subject

Result

张三

Math

95

李四

English

83

王五

Math

79

赵六

Math

98

张飞

English

85

李逵

Math

74

 

  1. 查询姓李的同学的个数

 

SELECT COUNT(*) FROM student.report

WHERE Name LIKE '李%';

 

 

 

2. 查询表中数学成绩大于80的前2名同学的名字, 并按分数从

大到小的顺序排列

select name from student

where math>80 

order by Result DESC limit 2;

  • 多表查询

假设一个出版社的数据库中有Books和Authors两个表,分别存储书籍信息和作者信息。

两个表的结构如下:

/* 书籍表 */

create table Books

(    ID_     int,          /* 书籍编号 */

         Author  int,         /* 作者编号 */

         Title  Varchar(100)   /* 书名 */)

 

/* 作者表 */

create table Authors

(    ID_     int,          /* 作者编号 */

Name_   Varchar(100) /* 姓名 */)

CREATE TABLE `Books` (

`ID_` int(11) DEFAULT NULL,

`Author` int(11) DEFAULT NULL,

`Title` varchar(100) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE `Authors` (

`ID_` int(11) DEFAULT NULL,

`Name_` varchar(100) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

1)请写一句SQL,列出所有作者姓名和其所写书籍名称。

  select a.Name_,b.Title from Authors a, Books b where a.ID_ = b.Author;

2)请写一句SQL,列出写过两本以上(包括两本)书籍的作者姓名

                           select a.Name_

                           from Authors a, Books b

                           where a.ID_ = b.Author

                           group by b.Author

                           having count(*) >=2;

  • 用户授权

1.MySQL如何对用户smart授权访问,密码为123456。

GRANT ALL ON *.* TO smart@'%' IDENTIFIED BY '123456';

2.授权用户tom可以在网络中的192.168.4.254主机登录,仅对对userdb库下的user表有查看记录、更新name字段的权限 , 登录密码userweb888。

GRANT SELECT,UPDATE(name) ON userdb.user TO tom@'192.168.4.254' IDENTIFIED BY 'userweb888';

 

  • 备份恢复

1.现在有一个MySQL数据库,库名test,要求使用mysqldump对数据库进行备份。

 

mysqldmp -uroot -p -B test > test.sql

 

2.如何对MySQL进行增量备份和恢复?

  • 逻辑备份+二进制日志
  • mysqldmp -uroot -p -B test > test.sql

 

3.如何对binlog进行备份

  • 使用cp命令离线备份
  • 使用mysqlbinlog在线备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值