备忘单:提升你的 MariaDB 和 MySQL 数据库技能
文章插图
阅读本文并下载我们的免费备忘单 , 去使用开源的数据库吧 。
? 来源:linux.cn ? 作者:Seth Kenlon ? 译者:Xiaobin.Liu ?
(本文字数:9807 , 阅读时长大约:12 分钟)
当你写一个程序或配置一个服务时 , 你最终都要持久化存储信息 。 有时候 , 你只需要一个 INI 或者 YAML 配置文件就够了 。 而有时候 , 一个自定义格式的 XML 或者 JSON 或其他类似的文件会更好 。
但也有时候你需要校验输入、快速查询信息、关联数据、通常还要熟练地处理你的用户的请求 。 这就是设计数据库的目的 , 而 MariaDB (由 MySQL 的原始开发人员开发的一个分支) 是一个极佳的选项 。 在本文中我使用的是 MariaDB , 但这些信息同样适用于 MySQL 。
通过编程语言与数据库进行交互是很普遍的 。 正因如此 , 出现了大量 Java、Python、Lua、PHP、Ruby、C++ 和其他语言的 SQL 库 。 然而 , 在使用这些库之前 , 理解数据库引擎做了什么以及为什么选择数据库是重要的对我们会很有帮助 。 本文介绍 MariaDB 和 mysql 命令来帮助你熟悉数据库处理数据的基本原理 。
如果你还没有安装 MariaDB , 请查阅我的文章 在 Linux 上安装 MariaDB。 如果你没有使用 Linux , 请参照 MariaDB 下载页面 提供的指导方法 。
与 MariaDB 交互你可以使用 mysql 命令与 MariaDB 进行交互 。 首先使用子命令 ping 确认你的服务是运行着的 , 在提示后输入密码:
$ mysqladmin -u root -p pingEnter password:mysqld is alive
为了易于读者理解 , 打开一个交互式的 MariaDB 会话:
$ mysql -u root -pEnter password:Welcome to the MariaDB monitor.Commands end with ; or \g.[...]Type 'help;' or '\h' for help.Type '\c' to clear the current input statement.MariaDB [(none)]>
你现在是在一个 MariaDB 子 shell 中 , 提示符是 MariaDB 提示符 。 普通的 Bash 命令在这里不能使用 , 只能用 MariaDB 命令 。 输入 help (或 ?)查看命令列表 。 这些是你的 MariaDB shell 的管理命令 , 使用它们可以定制你的 shell , 但它们不属于 SQL 语言 。
学习 SQL 基本知识结构化查询语言 是基于它们的能力定义的:一种通过有规则且一致的语法来查询数据库中的内容以得到有用的结果的方法 。 SQL 看起来像是普通的英文语句 , 有一点点生硬 。 例如 , 如果你登入数据库服务器 , 想查看有哪些库 , 输入 SHOW DATABASES; 并回车就能看到结果 。
SQL 命令以分号作为结尾 。 如果你忘记输入分号 , MariaDB 会认为你是想在下一行继续输入你的查询命令 , 在下一行你可以继续输入命令也可以输入分号结束命令 。
MariaDB [(NONE)]> SHOW DATABASES;+--------------------+| DATABASE|+--------------------+| information_schema || mysql|| performance_schema || test|+--------------------+4 ROWS IN SET (0.000 sec)
上面的例子显示当前有四个数据库:information_schema、mysql、performance_schema 和 test 。 你必须指定 MariaDB 使用哪个库 , 才能对该库使用查询语句 。 指定数据库的命令是 use 。 当你选择了一个库后 , MariaDB 提示框会切换为选择的库 。
MariaDB [(NONE)]> USE test;MariaDB [(test)]>
显示数据库的表
数据库里有表 , 与电子表格类似:有一系列的行(在数据库中称为记录)和列 。 一个行和一个列唯一确定一个字段 。
查看一个数据库中可用的表(可以理解为多表单电子表格中的一页) , 使用 SQL 关键字 SHOW:
MariaDB [(test)]> SHOW TABLES;empty SET
test 数据库是空的 , 所以使用 use 命令切换到 mysql 数据库:
MariaDB [(test)]> USE mysql;MariaDB [(mysql)]> SHOW TABLES;+---------------------------+| Tables_in_mysql|+---------------------------+| column_stats|| columns_priv|| db|[...]| time_zone_transition_type || transaction_registry|| USER|+---------------------------+31 ROWS IN SET (0.000 sec)
这个数据库中有很多表!mysql 数据库是这个 MariaDB 实例的系统管理数据库 。 它里面包含重要数据 , 比如用来管理数据库权限的用户结构 。 这个数据库很重要 , 你不需要经常直接与它交互 , 但是使用 SQL 脚本来操作它却很常见 。 当你学习 MariaDB 时理解 mysql 数据库很有用 , 因为它有助于说明一些基本的 SQL 命令 。
检查一个表
这个实例的 mysql 数据库的最后一个表名为 USER 。 这个表包含了可以访问这个数据库的用户 。 当前里面只有一个 root 用户 , 但是你可以添加不同权限的用户 , 赋予它们查看、更新或创建数据的权限 。 你可以查看一个表的列首来了解一个 MariaDB 用户的所有属性:
- 闲鱼|电诉宝:“闲鱼”网络欺诈成用户投诉热点 Q3获“不建议下单”评级
- 培训班|单县残联举办残疾人电子商务培训班
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用
- 丹丹|福佑卡车创始人兼CEO单丹丹:数字领航 驶向下一个十年
- 公式|?有人把 5G 讲得这么简单明了
- 砍单|iPhone12之后,拼多多又将iPhone12Pro拉下水
- 误导|苹果又吃巨额罚单,因iPhone防水宣传有误导被重罚9400万
- “树标提质”提升“软实力”数字经济时代创新载体大有可为
- 简单|互联网巨头夺走菜贩生计?未必那么简单