课外知识:查询数据库全球市场占有率(2021年10月份)前十名如下。

附:网址
https://db-engines.com/en/ranking
项目要求如下:

操作如下:
1. MariaDB数据库的安装与配置
-
挂载光盘
-
事先查看安装某工具时所携带捆绑的插件
-
安装mariadb-server服务端(该工具内含mariadb客户端)
-
开启mariadb服务和配置开机自启,并且查看服务,发现端口3306
-
首次匿名登录访问数据库
-
但免密登录并不安全,为了禁止匿名登录,实施数据库安全配置
-
安全配置过程如下:
设置新的密码——移除匿名用户——限制root账户远程登录——移除测试数据库test
-
再次使用root账户匿名登录,发现root账户匿名登录数据库失败
-
使用刚刚配置的密码登录
-
Linux的shell环境下,非交互模式下登录数据库
-
Linux的shell环境下,非交互模式下登录数据库,并且查看某表对应的数据
2.创建数据库与授权
mariaDB交互模式下:
-
准备恢复的数据库文件
- users.mdb内容如下:
-- MySQL dump 10.14 Distrib 5.5.35-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: Contacts
-- ------------------------------------------------------
-- Server version 5.5.35-MariaDB
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `u_name`
--
DROP TABLE IF EXISTS `u_name`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_name` (
`userid` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(50) NOT NULL,
`lastname` varchar(50) NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `u_name`
--
LOCK TABLES `u_name` WRITE;
/*!40000 ALTER TABLE `u_name` DISABLE KEYS */;
INSERT INTO `u_name` VALUES (1,'san','zhang'),(2,'si','li'),(3,'wu','wang'),(4,'Barack','Obama'),(5,'George','Walker Bush'),(6,'Bill','Clinton'),(7,'Hillary','Clinton'),(8,'John','Clinton'),(9,'George','wang'),(10,'John','li'),(11,'Bill','wang'),(12,'George','Obama'),(13,'George','wang'),(14,'Michael','Jackson'),(15,'John','Clinton'),(16,'Michael','Walker Bush'),(17,'Michael','Obama'),(18,'Hillary','Jackson'),(19,'Georgexx','Jackson'),(20,'Barack','Jackson'),(21,'John','Jackson'),(22,'John','Obama'),(23,'John','Clinton'),(24,'John','Walker Bush'),(25,'John','wang');
/*!40000 ALTER TABLE `u_name` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `u_passwd`
--
DROP TABLE IF EXISTS `u_passwd`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_passwd` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `u_passwd`
--
LOCK TABLES `u_passwd` WRITE;
/*!40000 ALTER TABLE `u_passwd` DISABLE KEYS */;
INSERT INTO `u_passwd` VALUES (1,'redhat'),(2,'fedora'),(3,'centos'),(4,'centes'),(5,'redhrt'),(6,'ridhat'),(7,'redfat'),(8,'fadora'),(9,'cantos'),(10,'redhap'),(11,'contos'),(12,'fcdora'),(13,'cendora'),(14,'tangene'),(15,'tangrine'),(16,'tangerone'),(17,'tangeine'),(18,'taangerine'),(19,'tangerine'),(20,'tanggerine'),(21,'anggerine'),(22,'aggerine'),(23,'taggerine'),(24,'tanerine'),(25,'tannerine');
/*!40000 ALTER TABLE `u_passwd` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `u_loc`
--
DROP TABLE IF EXISTS `u_loc`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `u_loc` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`location` varchar(50) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `u_loc`
--
LOCK TABLES `u_loc` WRITE;
/*!40000 ALTER TABLE `u_loc` DISABLE KEYS */;
INSERT INTO `u_loc` VALUES (1,'Shenzhen'),(2,'Guangzhou'),(3,'Santa Clara'),(4,'Santa Clara'),(5,'San Francisco'),(6,'Santa Calara'),(7,'Santa Clare'),(8,'Santa Clara'),(9,'Florida'),(10,'Santa Claraa'),(11,'Florida'),(12,'State of Texas'),(13,'State of Texas'),(14,'Santa Claraa'),(15,'Santa Clara'),(16,'Colorado?CO'),(17,'Hawaii?HI'),(18,'Santa Calara'),(19,'Santa Clra'),(20,'Santa Clara'),(21,'Santa Clara'),(22,'Minnesota'),(23,'Vermont'),(24,'Santa Clara'),(25,'Minnesota');
/*!40000 ALTER TABLE `u_loc` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2016-07-24 18:17:53
-
进入数据库交互模式
-
创建数据库,并且查看数据库信息
-
导入需要恢复到UserData数据库的脚本文件
-
查看UserData数据库下的所有表
-
使用desc命令查看u_loc表、u_name表、u_passwd表的字段
-
查看u_loc、u_name、u_passwd三个表插入数据是否成功
Linux的Shell环境下:
-
删除刚刚交互模式下创建的UserData数据库,改为在Linux的shell环境,非交互模式下再次创建UserData数据库
-
使用创建的数据库并且将脚本文件定向到该DB下
-
重新进入交互界面查看表的相关信息
用户授权操作:仅授予select权限,针对UserData数据库下的所有资源,仅限在qfb该用户本机登录

-
使用授权用户登录数据库
-
查看授权信息,qfb该用户仅有select查询权限
-
查看授权信息,qfb该用户仅有select查询权限,并无删除表权限
-
查看授权信息,qfb该用户仅有使用UserData数据库的select查询权限,并无使用mysql数据库的权限
3.数据查询
-
三表如下:
任务1:密码是fadora 的人的名字是什么?
-
方法1:分步查询
-
方法2:多表查询
- 方法3:多表联合查询:
join联合2个表拼接成1个表,再加予where and 的约束条件
任务2:有多少人的姓名是 John ,同时居住在 Santa Clara(有4人)
-
多表查询:
-
多表联合查询:
网友评论