本文仅供学习参考!
MySQL是一个开源的跨平台关系数据库管理系统(RDBMS)。MySQL使用标准查询语言(SQL)与MySQL软件进行通信。
数据库管理员和开发人员通过运行语句与 RDBMS 交互,这些语句在数据库管理中称为查询。在本文中,您将学习如何使用 MySQL 在 Linux 终端上运行查询。
如何在 MySQL shell 中创建数据库
Linux 终端窗口的示例
数据库用于存储有组织的数据和信息。在数据库中,相关项存储在表中。反过来,这些表包含存储特定类型的数据条目的列,每个列都有相应的行。
有了这些背景知识,现在是时候启动您的 MySQL 服务器了。如果您尚未安装 MySQL,则可以使用以下命令执行此操作:
$ sudo apt-get install mysql-server
$ sudo mysql_secure_installation # follow the prompts
如果您刚刚安装了MySQL,那么您的服务器应该已经启动了。您可以使用以下命令检查服务器的状态:
$ sudo service mysql status
如果您已经安装了MySQL,则可以使用以下方法启动服务器:
$ sudo service mysql start
启动服务后,您现在可以进入终端上的交互式 MySQL shell:
$ sudo mysql
若要创建数据库,请使用关键字 CREATE DATABASE,后跟数据库名称:
> CREATE DATABASE school;
需要注意的是,MySQL中的语句不区分大小写。因此,上述语句类似于:
> create database school;
请注意,由于惯例,首选第一种样式 - 全部大写。因此,本教程的其余部分将使用该格式。
请注意语句末尾的分号 ;。它表示声明的完成。如果在不按 Enter 键的情况下,则在遇到符号之前,语句将不会运行。
创建数据库后,最好知道数据库已成功保存。您可以使用以下方法显示当前可用的数据库:
> show databases;
接下来,您需要选择要与之交互的数据库。在这种情况下,学校数据库:
> use school;
现在,您需要在数据库中创建一些表。在 MySQL 数据库中创建表的语法为:
CREATE TABLE table_name (column1 datatype1, column2 datatype2, …);
因此,要创建包含 ID、fname、lname 和 age 列**的学生表,**如下所示:
> create table student(
-> ID int,
-> fname varchar(255),
-> lname varchar(255),
-> age int);
MySQL支持多种数据类型,可以在其官方页面上引用。出于我们的目的,ID 列的数据类型为 int,表示整数值。
varchar 类型表示可变长度的字符串。它采用最大数量的预期字符作为其参数。对于上面的示例,fname 和 lname 不能超过 255 个字符。varchar 可以接受的最大字符数是 ((2^16) -1)。
请注意上述 MySQL 语句中的缩进。它有助于将代码分割成更具可读性的格式。如前所述,在遇到 ; 之前,该语句不会运行。
要查看我们创建的表,请使用 DESCRIBE 关键字:
> DESCRIBE student;
创建的表当前缺少任何条目,并且具有 NULL 值。若要填充表,请使用关键字 INSERT。语法如下:
INSERT INTO table_name(column1,column2,...) VALUES (value1,value2,...);
下面是如何使用MySQL将值插入表中的示例:
> INSERT INTO ->student(ID,fname,lname,age) ->VALUES(2501,"Jack","Andrews",16);
如何从 MySQL 数据库更新和删除
假设您输入了一个错误的条目并想要修改它。这就是 UPDATE 语句的用武之地。进行此数据库查询的语法为:
UPDATE table_name
SET column1 = value1, column2 = value2, … columnN = valueN
WHERE condition;
下面是一个示例,演示如何使用 MySQL 中的 Update 关键字更新数据库条目:
> UPDATE student
-> SET lname ="Anders"
-> WHERE fname = "Jack";
现在,假设您要删除某个学生的详细信息。为此,您将使用以下语法的 DELETE FROM 语句:
DELETE FROM table_name
WHERE condition;
> DELETE FROM student
WHERE fname = "Jack";
请务必注意,必须包含 WHERE 子句。不包括它将删除整个表。
您可能还想知道表中存储了哪些数据。将 SELECT 语句与以下语法结合使用,查看存储在表中的数据:
SELECT column1, column2,.. columnN FROM table_name;
若要选择所有列,请改用星号 ***** 或通配符:
SELECT * FROM table_name;
END
有许多数据库管理系统使用SQL,包括SQL Server,Oracle和Postgres。这意味着您在此处获得的知识可以转移到(只需最少的更改)到其他数据库软件。MySQL是最强大的RDBMS软件之一,因此值得您花一些时间来仔细学习它。