MySQL 服务器简介
MySQL 服务器是一个开源的关系型数据库管理系统,它是基于 Web 应用程序的主要支持力量。由于数据需要在网络上存储和交换,数据库及其相关的表成为了许多网站和应用程序的核心组件。甚至所有的社交网络网站(主要是 Facebook、Twitter 和 Google)都依赖于为这些目的专门设计和优化的 MySQL 数据。鉴于所有这些原因,MySQL 服务器成为了 Web 应用程序的默认选择。
MySQL 服务器用于查询、排序、过滤、分组、修改和连接表等数据操作。在开始学习常用的查询之前,让我们先来看看 MySQL 的一些优势。
MySQL 的优势:
- 快速且高性能的数据库。
- 易于使用、维护和管理。
- 易于获取,并能维护数据库的完整性。
- 提供可扩展性、可用性和可靠性。
- 硬件成本低廉。
- MySQL 可以读取简单和复杂的查询以及写入操作。
- InnoDB 是默认且广泛使用的存储引擎。
- 提供强大的索引支持。
- 提供支持安全连接的 SSL。
- 提供强大的数据加密和准确性。
- 提供跨平台兼容性。
- 最大程度地减少了代码重复。
我们可以将查询理解为与数据库表交互以处理数据的命令。以下是一些常用的 MySQL 查询、运算符和函数:
1. SHOW DATABASES(显示数据库)
这将显示服务器上所有现有数据库的信息。
输出示例:
注意: 数据库 ‘informationschema‘、‘mysql‘ 和 ‘performanceschema‘ 是 MySQL 服务器内部使用的系统数据库。‘test‘ 数据库是用于测试目的的,它是在安装过程中提供的。
2. USE database_name(使用数据库)
database_name: 数据库的名称
这将把该数据库设置为 MySQL 服务器中的当前数据库。
要显示当前设置的数据库名称,我们可以使用以下语法:
SELECT DATABASE();
3. DESCRIBE table_name(描述表结构)
table_name: 表的名称
这将描述 table_name 的列的相关信息,包括字段、类型、是否为空(Null)、键(Key)、默认值和额外信息。
4. SHOW TABLES(显示表)
这会将选定数据库中的所有表作为信息显示出来。
5. SHOW CREATE TABLE table_name(显示创建表语句)
table_name: 表的名称
这将显示 MySQL 用于创建该表的完整 CREATE TABLE 语句。
6. SELECT NOW()(查询当前时间)
MySQL 查询大多以 SELECT 语句开头。
此查询显示当前的日期和时间。
输出示例:
2019-09-24 07:08:30
7. SELECT 2 + 4;(执行表达式)
输出示例:
6
这在没有引用任何表的情况下执行了 SELECT 语句。
SELECT 可用于执行表达式或评估内置函数。
SELECT 也可以用于多列或许多列。
示例:
SELECT 2+4, CURDATE();
输出示例:
8. Comments(注释)
注释分为两种类型。多行注释或单行(行尾)注释。
/* 这些是多行注释。 */
# 这是单行注释。
-- 这也是单行注释。
9. CREATE DATABASE database_name(创建数据库)
database_name: 数据库的名称
此语句创建一个新数据库。
10. DROP DATABASE database_name(删除数据库)
database_name: 数据库的名称
此语句删除该数据库。
注意: 用户在删除数据库之前必须非常小心,因为这将丢失存储在数据库中的所有重要信息。
11. CREATE TABLE table_name(column1, column2, column3..)(创建表)
table_name: 表的名称
column1: 第一列的名称
column2: 第二列的名称
column3: 第三列的名称
当开发者开始构建应用程序时,他需要创建数据库表。
此语句使用给定的列创建一个新表。
示例:
CREATE TABLE employee(
‘id‘ INTEGER NOT NULL AUTO_INCREMENT,
‘name‘ VARCHAR(30) NOT NULL,
‘profile‘ VARCHAR(40) DEFAULT ‘engineer‘,
PRIMARY KEY (‘id‘)
)ENGINE = InnoDB;
注意: 你将 ‘id‘ 列设置为 AUTO_INCREMENT,并带有主键约束,这确保每个 id 都是递增的值,避免重复。选择的存储引擎是 ‘InnoDB‘,它允许外键约束和相关的事务处理。
12. AUTO_INCREMENT(自增)
它用于为新生成的行生成唯一的标识字段。
13. DROP TABLE table_name(删除表)
table_name: 表的名称
此语句删除提到的表。
14. RENAME TABLE oldtablename TO newtablename(重命名表)
oldtablename: 之前的表名称。
newtablename: 新的表名称。
此语句将表重命名为新名称。