ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux中,MySQL数据库管理 [打印本页]

作者: 知者何南    时间: 2024-7-27 10:19
标题: Linux中,MySQL数据库管理
使用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服务器,但将被克制执行对应的数据库操作,语句格式如下所示。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4