MySQL服务器是一个开源的关系数据库管理系统,是对基于 Web 的应用程序的主要支持。数据库和相关表格是许多网站和应用程序的主要组成部分,因为数据是通过网络存储和交换的。甚至所有社交网站(主要是 Facebook、Twitter 和 Google)都依赖于为此目的而设计和优化的 MySQL 数据。由于所有这些原因,MySQL 服务器成为 Web 应用程序的默认选择。
MySQL服务器用于数据操作,如查询、排序、过滤、分组、修改和加入表。在学习常用查询之前,让我们先了解一下 MySQL 的一些优点。
MySQL的优点:
- 快速和高性能的数据库。
- 易于使用、维护和管理。
- 易于使用并维护数据库的完整性。
- 提供可扩展性、可用性和可靠性。
- 低成本硬件。
- MySQL 可以读取简单和复杂的查询和写入操作。
- InnoDB 是默认且广泛使用的存储引擎。
- 提供强大的索引支持。
- 为安全连接提供 SSL 支持。
- 提供强大的数据加密和准确性。
- 提供跨平台兼容性。
- 提供最少的代码重复。
查询可以理解为与数据库表交互以处理数据的命令。一些常用的 MySQL 查询、运算符和函数如下:
- 显示数据库
这将显示服务器中所有现有数据库的信息。
输出:
注意:数据库‘information_schema’ 、 ‘mysql’和‘performance_schema’是MySQL服务器内部使用的系统数据库。 “测试”数据库用于安装期间提供的测试目的。
- 使用数据库名称
database_name : 数据库名称
这将数据库设置为 MySQL 服务器中的当前数据库。
要显示设置的当前数据库名称,请使用语法SELECT DATABASE();
- 描述表名
table_name :表名
这描述了table_name与 Field、Type、Null、Key、Default、Extra 相关的列。 - 显示表
这将显示所选数据库中的所有表作为信息。 - 显示创建表表名
table_name :表名
这显示了 MySQL 用于创建表的完整 CREATE TABLE 语句。 - 立即选择()
MySQL 查询大多以 SELECT 语句开头。
此查询显示当前日期和时间。输出 :
2019-09-24 07:08:30
- 选择 2 + 4;
输出 :
6
这将在没有任何表的情况下执行 SELECT 语句。
SELECT 可用于执行表达式或评估内置函数。
SELECT 也可用于多列或多列。例子 :
SELECT 2+4, CURDATE();
输出 :
- 注释
评论有两种类型。多行注释或单行或行尾注释。/* These are multi-line comments. */
# This is single-line comment.
-- This is also single-line comment.
- CREATE DATABASE database_name
database_name : 数据库名称
此语句创建一个新数据库。 - 删除数据库 database_name
database_name : 数据库名称
此语句删除数据库。
注意:用户在删除数据库之前必须非常小心,因为它会丢失所有重要的
存储在数据库中的信息。 - 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”,允许外键约束和相关事务。
- 自动递增
它用于为新行生成唯一标识字段。 - 删除表表名
table_name :表名
此语句删除提到的表。 - RENAME TABLE old_table_name 到 new_table_name
old_table_name :上一个表的名称。
new_table_name :新表的名称。
此语句将表重命名为新名称。 - ALTER TABLE table_name ADD(column1, column2, column3..)
table_name :现有表的名称。
column1 :第一列的名称。
column2 :第二列的名称。
column3 :第三列的名称。
此语句将列添加到现有表中。 - ALTER TABLE table_name DROP(column1)
table_name :现有表的名称。
column1 :第一列的名称。
此语句从现有表中删除指定的列。 - INSERT INTO table_name (column1, column2, column3 . . ) VALUES(value1, value2, value3 . . )
table_name :现有表的名称。
column1 :第一列的名称。
column2 :第二列的名称。
column3 :第三列的名称。
value1 :第一列的值。
value2 :第二列的值。
value3 :第三列的值。
此语句将新记录插入具有指定值的表中。 - UPDATE table_name SET column1 = value1, column2 = value2, column3 = value3.. WHERE 条件
table_name :表的名称。
column1 :第一列的名称。
column2 :第二列的名称。
column3 :第三列的名称。
value1 :第一列的值。
value2 :第二列的值。
value3 :第三列的值。
条件:条件语句。
此语句使用列的新给定值更新表中的记录。注意: MySQL 查询中的 WHERE 子句用于过滤特定条件的行。
- DELETE FROM table_name WHERE 条件
table_name :表的名称。
条件:条件语句。
此语句从表中删除记录。 - SELECT column1, column2, column3.. FROM table_name WHERE 条件
table_name :表的名称。
column1 :第一列的名称。
column2 :第二列的名称。
column3 :第三列的名称。
条件:条件语句。
该语句执行并提供来自表中与 WHERE 子句后的条件匹配的特定列的记录。 - SELECT * FROM 表名
table_name :表的名称。
您可以使用星号 (*) 来表示表的所有列,而不是指定一列或多列。此查询从表中检索所有记录。 - 数数
COUNT函数用于返回任何表中与条件匹配的记录总数。
它是已知的 AGGREGATE函数。例子 :
SELECT COUNT(*) from student;
注意: AGGREGATE 函数允许您对数据运行计算并通过使用提供信息
一个 SELECT 查询。 - 最大限度
它用于获取表特定列的最大数值。
例子 :SELECT MAX(marks) FROM student_report;
注意: MIN 和 MAX 函数对数字和字母值都可以正常工作。
- 最小
它用于获取表特定列的最小数值。
例子 :SELECT MIN(marks) FROM student_report;
注意:上面给出的示例查询也可以根据需要相互嵌套。
例子 :
SELECT MIN(marks) FROM student_report WHERE marks > ( SELECT MIN(marks) from student_report);
- 限制
用于设置结果集中记录数的限制。例子 :
SELECT * FROM student limit 4, 10;
这给出了从第 5 条记录开始的 10 条记录。
- 之间
用于获取从指定下限到上限的记录。
这将验证某个值是否在该给定范围内。例子 :
SELECT * FROM employee WHERE age BETWEEN 25 to 45.
- 清楚的
这用于获取所有不同的记录,避免所有重复的记录。例子 :
SELECT DISTINCT profile FROM employee;
- IN子句
这将验证一行是否包含在一组给定值中。
它用于代替在查询中使用如此多的 OR 子句。例子 :
SELECT * FROM employee WHERE age IN(40, 50, 55);
- 和
MySQL查询中的这个条件用于根据AND条件过滤结果数据。例子 :
SELECT NAME, AGE FROM student WHERE marks > 95 AND grade = 7;
- 或者
MySQL 查询中的此条件用于根据 OR 条件过滤结果数据。例子 :
SELECT * FROM student WHERE address = 'Hyderabad' OR address = 'Bangalore';
- 一片空白
此关键字用于布尔比较或检查列的数据值是否为空。
例子 :SELECT * FROM employee WHERE contact_number IS NULL;
- 外键
它用于指向另一个表的 PRIMARY KEY。例子 :
CREATE TABLE Customers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, ) CREATE TABLE Orders ( order_id INT AUTO_INCREMENT PRIMARY KEY, FOREIGN KEY (id) REFERENCES Customers(id) );
注意: MySQL 服务器的 MYISAM 存储引擎中未使用此功能。
InnoDB 存储引擎支持外键约束。 - 喜欢
这用于获取与指定字符串模式匹配的记录。例子 :
SELECT * FROM employee WHERE name LIKE 'Sh%'; SELECT * FROM employee WHERE name LIKE '%Sh%';
注意:查询中的百分号 (%) 表示零个或多个字符。
- 加入
联接是联接两个或多个数据库表以根据公共字段获取数据。
在不同的数据库中有不同名称的各种类型的连接。
众所周知的联接有自联接、外联接、内联接等等。常规加入:
连接从两个表中获取与给定条件完全匹配的所有记录。
例子 :SELECT student.name, department.name FROM student JOIN department ON student.department = department.name
左加入:
它是获取与给定条件匹配的所有记录的连接,并从中获取所有记录
左边的桌子。
例子 :SELECT student.name, department.name FROM student LEFT JOIN department ON student.deptartment = department.name
正确加入:
它是获取与给定条件匹配的所有记录的连接,并从中获取所有记录
正确的表。
例子 :SELECT student.name, department.name FROM student RIGHT JOIN department on student.department = department.name
- 添加或删除列
如果以后需要,可以在数据库表上添加新列。例子 :
ALTER TABLE employee ADD COLUMN salary VARCHAR(25);
同样,可以从数据库表中删除任何列。
例子 :
ALTER TABLE employee DROP COLUMN salary;
结论 :
运行 MySQL 查询是最常执行的任务,用于在数据库管理过程中获取数据。有许多数据库管理工具,如phpMyAdmin ,它们有助于通过可视化数据结果轻松地执行查询和处理事务。您已经滚动了日常编码实践中使用的最常见的 MySQL 查询。开发人员可以根据特定要求自定义或增强查询。