Linux中,MySQL数据库管理

news2024/9/19 20:03:51

使用MySQL数据库

查看数据库结构

MySQL是一套数据库管理系统,在每台MySQL服务器中,均支持运行多个数据库,每个数据库相当于一个容器,其中存放着许多表,如图2.1所示。

下面分别介绍查看数据库、表结构的相关操作语句。
1.查看当前服务器中的数据库
SHOW DATABASES 语句:用于査看当前 MySQL 服务器中包含的数据库,MySQL 的每一条操作语句都是以分号(;)结束的。
经初始化后的MySQL服务器,默认建立了四个数据库:test、mysql、information_schema和 performance_schema(其中 mysql 是 MySQL 服务正常运行所需的数据库,其中包含了用户认证相关的表),执行以下操作可以进行查看。

2.查看当前数据库中有哪些表
SHOW TABLES 语句:用于查看当前所在的数据库中包含的表。在操作之前,需要先使用 USE 语句切换到所使用的数据库。例如,执行以下操作可以显示 mysql数据库中包含的所有表。

3.查看表的结构
DESCRIBE语句:用于显示表的结构,即组成表的各字段(列)的信息。需要指定“数据库名.表名”作为参数;若只指定表名参数,则需先通过 USE语句切换到目标数据库。例如,执行以下操作可以查看 mysql 数据库中的 user 表的结构,与直接执行“DESCRIBEmysql.user;”语句的效果相同。

数据库目前标准的指令集是 SQL。SQL 是 Structured Query Language 的缩写,即结构化查询语言。它是 1974 年由 Boyce 和 Chamberlin 提出来的,1975~1979 年 IBM 公司研制的关系数据库管理系统原型 SystemR实现了这种语言。经过多年的发展,SQL语言得到了广泛的应用。
SQL语言主要由以下几部分组成。
DDL(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义字段,如 CREATE、ALTER、DROP。
DML(Data Manipulation Language,数据操纵语言):用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE。
DQL(Data Query Language,数据査询语言):用来查询数据库中的数据,如 SELECTDCL(Data Control Language,数据控制语言):用来控制数据库组件的存取许可、存取权限等,如 COMMIT、ROLLBACK、GRANT、REVOKE。

创建及删除数据库和表

1.创建新的数据库
CREATE DATABASE 语句:用于创建一个新的数据库,需指定数据库名称作为参数。
例如,执行以下操作可以创建一个名为 auth 的数据库。

刚创建的数据库是空的,其中不包含任何表,在/usr/localmysql/data 目录下会自动生成一个与新建的数据库名相同的文件夹。

创建新的表

CREATE TABLE 语句: 用于在当前数据库中创建新的表,需指定数据表名称作为参数,并定义该表格所使用的各字段,基本格式如下所示。

删除表

DROP TABLE 语句:用于删除数据库中的表,需要指定“数据库名.表名”作为参数;若只指定表名参数,则需先通过执行“USE"语句切换到目标数据库。例如,执行以下操作可以删除 auth 数据库中的 users 表。

.删除一个数据库
DROP DATABASE 语句:用于删除指定的数据库,需要指定数据库名作为参数。例如,执行以下操作可以删除名为 auth 的数据库。

管理表中的数据记录

1.插入数据记录
INSERT INTO 语句:用于向表中插入新的数据记录,语句格式如下所示。

2.查询数据记录
SELECT语句:用于从指定的表中查找符合条件的数据记录。MySQL数据库支持标准的 SQL 查询语句,语句格式如下所示。

3.修改数据记录
UPDATE 语句:用于修改、更新表中的数据记录。语句格式如下所示。

为root更改密码

还可以在mysql库中的user表中,使用update更改root的密码。

4.删除数据记录
DELETE 语句:用于删除表中指定的数据记录,语句格式如下所示。

数据库表高级操作

清空表

使用delete from 表名;

临时表

MySQL的临时表,顾名思义,就是临时建立的表,并不会长期存在,主要用于保存一些临时数据。临时表有个特性,就是只在当前连接可见,当前连接下可执行增删改查等操作,当连接被关闭后,临时表就会被 MySQL删除,相关的资源也会被释放。
下面创建临时表 mytmp,然后插入数据,之后断开当前连接,最后重新连到 MySQL查看临时是否还存在,具体操作如下所示。

克隆表

在 MySQL的开发和维护过程中,会有原样拷贝某个数据表的需求。怎么样才能够快速、完整的拷贝数据表呢?先来看一下 CREATE TABLE new tablename AS SELECT 这个语句,具体实现的 SQL 语句如下所示。

数据库用户授权

MySQL 数据库的 root 用户账号拥有对所有数据库、表的全部权限,频繁使用 root 账号会给数据库服务器带来一定的安全风险。实际工作中,通常会建立一些低权限的用户,只负责一部分数据库、表的管理和维护操作,甚至可以对查询、修改、删除记录等各种操作做进一步的细化限制,从而将数据库的风险降至最低。


1.授予权限


GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时GRANT 语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息。语句格式如下所示。

使用 GRANT语句时,需要注意的事项如下
权限列表:用于列出授权使用的各种数据库操作,以逗号进行分,如"select,insert,update"。使用"all"表示所有权限,可授权执行任何操作。数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。例如,使用“auth.*"表示授权操作的对象为 auth 数据库中的所有表。
用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%"通配符,表示某个区域或网段内的所有地址,如“%.bdqn.com"“192.168.1.%"等。
IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY"部分,则用户的密码将为空。
执行以下操作可以添加一个名为"xiaoqi"的数据库用户,并允许其从本机访问,对auth数据库中的所有表具有查询权限,验证密码为“123456"。使用GRANT语句授权的用户记录,会保存到 mysql库的 user、db、host、tables_priv 等相关表中,无须刷新即可生效。

切换到其他 Shel 终端,以用户 xiaoqi 的身份连接数据库。在已授权的数据库上操作将被允许,否则将被拒绝。例如,允许用户 xiaoqi 查询 auth 数据库中 users 表的数据记录,但禁止查询其他数据库中的表的记录。

查看权限

SHOW GRANTS 语句:专门用来查看数据库用户的授权信息,通过FOR 子句可指定查看的用户对象(必须与授权时使用的对象名称一致),语句格式如下所示。

撤销权限

REVOKE 语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到MySQL服务器,但将被禁止执行对应的数据库操作,语句格式如下所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机原理及技术(四)—— C51语言程序设计基础(C51编程)

目录 一、C51语言中的数据类型与存储类型 1.1 数据类型 1.2 C51语言的扩展数据类型 1.3 数据存储类型 1.4 数据存储模式 二、C51语言的特殊寄存器及变量定义 2.1 特殊功能寄存器的C51语言定义 2.1.1 使用关键字定义sfr 2.1.2 使用头文件访问SFR 2.1.3 特殊功能寄存器…

《梦醒蝶飞:释放Excel函数与公式的力量》18.1 图表类型与设计

第18章:创建图表和数据可视化 18.1 图表类型与设计 Excel提供了多种图表类型,帮助用户以直观的方式展示数据。选择合适的图表类型和设计可以显著提高数据的可读性和理解度。以下将介绍常见的图表类型及其应用,并通过具体案例进行说明。 18.…

无人机制造工艺流程详解

一、需求分析 无人机制造的第一步是需求分析。这一阶段主要明确无人机的使用场景、功能要求、性能指标以及成本预算等。通过与客户或项目团队的深入沟通,确保对无人机的需求有全面而准确的理解。同时,也需要进行市场调研,了解同类型产品的特…

达梦数据库系列—31. 事务和锁

目录 事务 事务的状态 事务的四种隔离级别ACID 锁 锁粒度 锁等待与死锁 锁查看 锁处理 事务 数据库事务是指作为单个逻辑工作单元的一系列操作的集合。 事务的状态 NOT_START 未启动 ACTIVE 活动 LOCK_WAIT 锁等待 TRX4_PRE_COMMIT 预提交 事务ID(事务号)&…

llamaindex+Internlm2 RAG实践

llamaindexInternlm2 RAG实践 环境、模型准备 进入开发机后,从官方环境复制运行 InternLM 的基础环境,命名为 llamaindex,在命令行模式下运行: conda create -n llamaindex python3.10运行 conda 命令,激活 llamain…

IP地址专用SSL证书申请指南——六步完成

IP地址SSL证书是一种专门设计用于IP地址的SSL/TLS证书,部署IP地址SSL证书可以实现IP地址HTTPS加密。 一:前提条件 1;申请IP地址SSL证书,必须拥有这个IP地址的管理权限 2;非内网IP,以下是常见的内网IP字段 10.0.0.0…

Mindspore框架循环神经网络RNN模型实现情感分类|(三)RNN模型构建

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|(一)IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|(二)预训练词向量 Mindspore框架循环神经网络RNN模型实现…

松下UV电源MID SONIC600 ANUP8304NAIS电源设备更新换下的

松下UV电源MID SONIC600 ANUP8304NAIS电源设备更新换下的

JL 跳转指令的理解

一般情况下,JU 和 JC 是最常见的跳转指令;但有时会用到JL 指令,JL 说起来更像是一组指令,类似C,C# 语言中的 switch case 语句,但是有个明显的不同,前者的判断条件可以是任意合理数字,后者范围…

洗地机什么品牌质量好耐用?口碑最好的洗地机排名分享

在追求高效、便捷的现代家居环境中,洗地机作为清洁工具的关键角色,其品牌与品质的选择成为了消费者关注的焦点。面对琳琅满目的洗地机市场,洗地机什么品牌质量好耐用?如何挑选出一款既高效又智能,且能带来卓越清洁体验…

算力共享:环形结构的算力分配策略

目录 算力共享:环形结构的算力分配策略 方法签名 方法实现 注意事项 nodes.sort(key=lambda x: (x[1].memory, x[0]), reverse=True) end = round(start + (node[1].memory / total_memory), 5) 算力共享:环形结构的算力分配策略 这段代码定义了一个名为RingMemoryWeig…

基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)

智慧运维数据可视化大屏:基于 HTML 和 ECharts 的实现 在现代企业中,运维管理是确保系统稳定运行的关键环节。随着数据量的激增,如何高效地监控和分析运维数据成为了一个重要课题。本文将介绍如何利用 HTML 和 ECharts 实现一个智慧运维数据可…

菜鸟从0学微服务——MyBatis-Plus

关于“菜鸟从0学微服务” 针对有编程基础,开始学习微服务的同学,我们陆续推出从0学微服务的笔记分享。力求从各个中间件的使用来反思这些中间件的作用和优势。 会分享的比较快,会记录demo演算和中间件的使用过程,至于细节的理论…

Python的人脸识别程序

1.录入人脸,输入ID号 haarcascade_frontalface_default.xml # 导入模块 import os import numpy as np import cv2 as cv import cv2face_detector cv2.CascadeClassifier(rD:\Automation_All_Files\OCR\haarcascade_frontalface_default.xml) # 待更改# 为即将…

【VTKExamples::Movie】制作并保存动画

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK中创建动画,并保存动画的方法,样例及样例源码,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

vue-快速入门

Vue 前端体系、前后端分离 1、概述 1.1、简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,可以高效地开发用户界面。…

vue3实现在新标签中打开指定的网址

有一个文件列表,如下图: 我希望点击查看按钮的时候,能够在新的标签页面打开这个文件的地址进行预览,该如何实现呢? 比如: 实际上要实现这个并不难,参考demo如下: 首先&#x…

【Go系列】Go的UI框架GIO

其实主要我是要花一个折线图,但是使用Fyne貌似画不出来,使用plot也没法动态生成,听说Gio可以,那就先介绍一下什么是Gio把。 GIO(gioui.org)是一个用于Go语言的跨平台GUI库,旨在为开发人员提供构…

【ROS2】高级:安全-设置安全性

目标:使用 sros2 设置安全性。 教程级别:高级 时间:15 分钟 内容 背景 安装 从源代码安装选择替代中间件 运行演示 1. 为安全文件创建一个文件夹2. 生成密钥库3. 生成密钥和证书4. 配置环境变量5. 运行 talker/listener 演示 参加测验&#x…

一起搭WPF界面之MVVM架构的简单搭建

一起搭WPF界面之MVVM架构的简单搭建 1 前言2 创建项目2.1新建项目2.2WPF2.3创建完成 3 MVVM划分3.1 划分逻辑3.2文件夹创建3.3文件创建3.3.1 Views——可在主界面的基础上,划分多个用户控件模块3.3.2 ViewModels——创建数据结构存放的cs文件3.3.3 Models——创建处…