MariaDB使用数据库查询《三》
MariaDB使用数据库查询
案例5:使用数据库查询
5.1 问题
本例要求配置MariaDB数据库,完成以下任务:
- 禁止空密码root用户访问mariadb数据库
- 在系统server0上使用数据库Contacts,通过SQL查询回答下列问题:密码是solicitous的人的名字?有多少人的姓名是Barbara同时居住在 Sunnyvale?
5.2 方案
表记录增删改查:
- insert into [库名.]表名 values(值1,值2,值3);
- delete from [库名.]表名 where ...;
- update [库名.]表名 set 字段名=字段值 where ....;
- select 字段列表 from [库名.]表名 where 字段名1=值 and|or 字段名2=值;
统计查询结果的数量:
- select count(*) from [库名.]表名 where .. ..;
5.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:清理空密码root用户
1)确认空密码root用户记录
MariaDB服务端默认的mysql库user表保存了用户授权记录。
使用DESC指令查看表结构,以便了解相关字段名:
- MariaDB [(none)]> DESC mysql.user;
- +------------------------+-----------------------------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +------------------------+-----------------------------------+------+-----+---------+-------+
- | Host | char(60) | NO | PRI | | |
- | User | char(16) | NO | PRI | | |
- | Password | char(41) | NO | | | |
列出user表中的Host、User、Password字段,限定密码为空的root用户:
- MariaDB [(none)]> SELECT Host,User,Password FROM mysql.user WHERE User='root' AND Password='';
- +---------------------+------+----------+
- | Host | User | Password |
- +---------------------+------+----------+
- | server0.example.com | root | |
- | 127.0.0.1 | root | |
- | ::1 | root | |
- +---------------------+------+----------+
- 3 rows in set (0.00 sec)
- MariaDB [(none)]>
2)删除空密码root用户记录
使用DELETE指令删除掉需要清除的授权记录:
- MariaDB [(none)]> DELETE FROM mysql.user WHERE User='root' AND Password='';
- Query OK, 3 rows affected (0.00 sec)
再次查询,确认删除结果:
- MariaDB [(none)]> SELECT Host,User,Password FROM mysql.user WHERE User='root' AND Password='';
- Empty set (0.00 sec)
步骤二:按条件查询表记录
1)按单个条件查询
找出密码是solicitous的人的名字?
- MariaDB [(none)]> SELECT name FROM Contacts.base WHERE Password='solicitous';
- +-------+
- | name |
- +-------+
- | James |
- +-------+
- 1 row in set (0.00 sec)
2)按多个条件在关联的两张表中查询
有多少人的姓名是Barbara同时居住在 Sunnyvale?
- MariaDB [(none)]> USE Contacts;
- .. ..
- Database changed
- MariaDB [Contacts]> SELECT COUNT(*) FROM base,location WHERE base.name='Barbara' AND location.city='Sunnyvale' AND base.id=location.id;
- +----------+
- | COUNT(*) |
- +----------+
- | 1 |
- +----------+
- 1 row in set (0.00 sec)
MariaDB使用数据库查询《三》的更多相关文章
- python更新数据库脚本三种方法
最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- 工程师技术(二):postfix基础邮件服务、postfix空客户端邮件服务、搭建mariadb数据库系统、配置一个数据库、使用数据库查询
一.postfix基础邮件服务 目标: 本例要求在虚拟机server0上配置 postfix 基础服务,具体要求如下: 1> 监听本机的所有接口 2> 将邮件域和邮件服务主机名都改为 ...
- ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作
查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ...
- 第九十九天上课 PHP TP框架 数据库查询和增加
在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...
- 【转】Delphi多线程学习(9):多线程数据库查询(ADO)
原文:http://www.cnblogs.com/djcsch2001/articles/2382559.html ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用 ...
- 教程-Delphi多线程数据库查询(ADO)
ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoIniti ...
- mongodb基础系列——数据库查询数据返回前台JSP(一)
经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
随机推荐
- Redis02——Redis内存数据如何保存到磁盘
在前一篇文章中,已经介绍了Redis的基础数据结构,这篇文章将继续介绍Redis的持久化原理. 简介 众所周知Redis的所有数据都存在于内存之中,这就会存在因内存问题而导致的数据丢失,为了避免这一问 ...
- python如何用format进行进制转换与如何删除进制前缀
10进行十进制,十六进制,八进制,二进制的转换:(#:保留进制前缀)对于带着进制前缀的,如"0x"“0o”“0b”,可以直接在后面加上’x’‘o’'b’进行删除:其他的一些小技巧: ...
- C 2016笔试题
1.下面程序的输出结果是( ) int x = 3; do { printf(“%d\n”,x -= 2); }while(!(-- x)); 分析:x初始值为3,第一次循环中运行printf函 ...
- Kafka的面试题
1.Kafka的设计是什么样的呢?Kafka将消息以topic为单位进行归纳将向Kafka topic发布消息的程序成为producers.将预订topics并消费消息的程序成为consumer.Ka ...
- 网络安全从入门到精通 ( 第二章-5) 后端基础PHP—简介及基本函数-下
本文内容: 循环语句 PHP获取表单信息 PHP操作Mysql语句 语法SQL注入 1,循环语句: for循环: 语法:for($x=0,$x<10;$x++){执行语句;} 注意:$x++,先 ...
- C# 微信 生活助手 空气质量 天气预报等 效果展示 数据抓取 (二)
此文主要是 中国天气网和中国环境监测总站的数据抓取 打算开放全部数据抓取源代码 已在服务器上 稳定运行半个月 webapi http://api.xuzhiheng.cn/ 常量 /// <su ...
- [UWP]抄抄《CSS 故障艺术》的动画
1. 前言 什么是故障艺术(Glitch Art 风)?我们熟知的抖音的 LOGO 正是故障艺术其中一种表现形式.它有一种魔幻的感觉,看起来具有闪烁.震动的效果,很吸引人眼球.故障艺术它模拟了画面信号 ...
- JSFinder:一个在js文件中提取URL和子域名的脚本
JSFinder介绍 JSFinder是一款用作快速在网站的js文件中提取URL,子域名的脚本工具. 支持用法 简单爬取 深度爬取 批量指定URL/指定JS 其他参数 以往我们子域名多数使用爆破或DN ...
- HDOJ 1301最小生成树的Kruskal算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1301 将结点的字符信息处理成点信息即可,代码如下: #include<bits/stdc++.h ...
- SparkSQL---UDAF
package sqlspark.Day04 import java.lang import org.apache.spark.sql.{DataFrame, Dataset, SparkSessio ...