今天,随着数据的扩展,每个公司都需要一个数据库来存储这些数据。最常用的和企业采用的数据库之一是MySQL,它是作为一个开源的关系数据库管理系统在市场上推出的。这篇文章详细介绍了一个全面的MySQL骗局。
数据被存储在数据库中预定义的表中。你可以对MySQL数据库进行操作,如添加、更改、修改、删除和更新。为了实现这些操作,你需要运行将与MySQL数据库通信的SQL查询。
MySQL小贴士
你可以使用命令行界面访问MySQL数据库,并运行执行特定任务的命令。在这份MySQL小抄中,我们将学习基本命令,这些命令将帮助你处理存储在MySQL数据库中的数据。
MySQL命令行客户端命令
你可以在命令行客户端的帮助下,通过提供用户名和密码连接到MySQL服务器。
mysql - [username] -p;
在MySQL服务器上通常有各种数据库,所以你需要指定连接数据库的名称,以及访问数据库的用户名和密码。你可以使用下面的语法来做到这一点。
mysql - [username] -p [database];
如果你想退出指定的数据库,你可以运行下面的命令来做到这一点。
退出。
如果你想导出数据,那么你可以使用mysqldump工具,如下所示。
mysqldump -u [username] -p [database] >data_backup.sql;
如果你想清除Linux系统上的MySQL屏幕控制台窗口,那么你可以运行以下命令。
mysql> system clear;
如果你使用的是Windows,那么没有特定的命令可用于清除屏幕控制台窗口。
与数据库一起工作
1.对于创建一个在数据库服务器中不存在的数据库,你可以使用下面的命令。
CREATE DATABASE [IF NOT EXISTS] database_name;
2.2.如果你在一个数据库中工作,并且想把数据库改成另一个数据库,那么你可以使用下面的命令。
USE database_name;
3.如果你想永久地删除一个特定的数据库及其所有相关的文件,那么你可以使用下面提到的命令来完成。
DROP DATABASE [IF EXISTS] database_name;
4.如果你想显示你的MySQL服务器中存在的所有数据库的列表,那么运行下面的命令。
SHOW DATABASE;
使用表的工作
1.如果你想显示存在于特定数据库中的所有表,那么你可以运行下面的命令来做到这一点。
SHOW TABLES;
2.如果你想在数据库中创建一个新的表,那么使用下面的命令来添加一个表。
CREATE TABLE [IF NOT EXISTS] table_name(
column_list
);
3.如果你想在现有的表中增加一个新的列,那么你可以使用下面的命令来做。
ALTER TABLE table
ADD [COLUMN] column_name;
4.如果你想删除现有表的某一列,那么你可以运行下面的命令。
ALTER TABLE table1_name
DROP [COLUMN] column1_name;
5.如果你想为现有的表在特定的列上创建一个索引,那么你可以使用下面的语法来实现。
ALTER TABLE table
ADD INDEX [name](column, ...);
6.如果你想为现有表的某一特定列添加一个主键,那么你可以使用下面的命令。
ALTER TABLE table_name
ADD PRIMARY KEY (column_name,...);
7.如果要删除现有表的主键,你可以运行下面的命令。
ALTER TABLE table_name
DROP PRIMARY KEY;
8.如果你想从当前数据库中删除一个表,那么你可以使用下面的命令。
DROP TABLE [IF EXISTS] table_name;
9.如果要显示数据库中一个现有表的所有列,可以使用下面的命令。
DESCRIBE table1_name;
10.为了显示表内某一列的详细信息,你可以使用下面的命令。
DESCRIBE table_name column_name;
使用索引工作
创建索引是为了搜索数据库中的特定对象,如表和视图。
1.如果你想为一个现有的表创建一个具有特定名称的索引,那么你可以使用下面的命令。
CREATE INDEX index_name
ON table_name (column,...);
2.如果你想删除一个现有的索引,那么你可以运行下面的命令。
DROP INDEX index1_name;
3.为了创建一个唯一的索引,你可以使用下面提到的命令来实现。
CREATE UNIQUE INDEX index1_name
ON table1_name (column1,...);
使用视图工作
1.为了创建一个现有表的视图,你可以使用下面的命令。
CREATE VIEW [IF NOT EXISTS] view_name
AS
Select_statement;
2.如果你想创建一个带有 "WITH CHECK OPTION "的新视图,那么你可以使用下面的SQL语法。
CREATE VIEW [IF NOT EXISTS] view1_name
AS _specify_select_statement
WITH CHECK OPTION;
3.如果要添加或替换一个特定的视图,可以使用下面的命令。
CREATE OR REPLACE view_name
AS
Select_statement;
4.4. 如果要删除一个现有的视图,可以使用下面的命令。
DROP VIEW [IF EXISTS] view_name;
5.对于删除多个视图,你可以简单地使用下面的命令。
DROP VIEW [IF EXISTS] view1, view2, ...;
6.对于重命名一个视图,请使用以下命令。
RENAME TABLE view_name
TO new_view_name;
7.如果你想显示工作数据库中的所有视图,那么你可以使用下面的命令。
SHOW FULL TABLES
[{FROM | IN } database_name]
WHERE table_type = 'VIEW';
使用触发器工作
1.如果你想在MySQL中创建一个触发器,那么你可以使用下面的命令。
CREATE TRIGGER trigger1_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table1_name FOR EACH ROW
Trigger1_body;
2.如果要删除一个特定的触发器,你可以按照下面提到的命令。
DROP TRIGGER [IF EXISTS] trigger_name;
3.如果你想显示一个数据库中存在的所有触发器,那么你可以使用下面的SQL语法。
SHOW TRIGGERS
[{FROM | IN} database_name]
[LIKE 'pattern' | WHERE search_condition];
使用存储程序工作
1.如果你想创建一个存储过程,那么你需要遵循下面提到的SQL语法。
DELIMITER $$
CREATE PROCEDURE procedure1_name(parameter1_list)
BEGIN
create_body_code;
END $$
DELIMITER ;
- 如果你想删除一个特定的存储过程,你需要遵循下面提到的命令。
DROP PROCEDURE [IF EXISTS] procedure_name;
3.为了显示所有的存储过程,你可以使用下面的命令。
SHOW PROCEDURE STATUS
[LIKE 'pattern' | WHERE search_condition];
使用存储函数
1.如果你想创建一个新的存储函数,那么你可以运行下面的命令。
DELIMITER $$
CREATE FUNCTION function_name(parameter_list)
RETURNS datatype
[NOT] DETERMINISTIC
BEGIN
-- statements
END $$
DELIMITER ;
2.如果要放弃一个特定的存储函数,那么你可以使用下面的命令。
DROP FUNCTION [IF EXISTS] function_name;
3.如果你想显示存储的函数,那么你可以使用下面的命令。
SHOW FUNCTION STATUS
[LIKE 'pattern' | WHERE search_condition];
从表查询数据
1.如果你想从表中查询所有的数据,那么你可以使用下面的命令。
SELECT * FROM table_name;
2.如果想从表中查询一个或多个数据,可以使用下面的命令。
SELECT
column1, column2, ...
FROM
Table_name;
3.如果要从查询结果中删除重复的行,可以使用下面的语法。
SELECT
DISTINCT (column)
FROM
Table_name;
4.如果你想使用where子句来查询数据,那么你可以使用下面的命令。
SELECT select1_list
FROM table1_name
WHERE condition;
5.为了改变查询结果中特定列名的输出,可以使用下面提到的SQL命令。
SELECT
column1 AS alias1_name,
expression AS alias1,
...
FROM
Table1_name;
6.如果你想从多个表中查询数据,并生成包含两个表的共同数据的结果,那么你可以按照以下语法使用内联。
SELECT select_list
FROM table1
INNER JOIN table2 ON condition;
7.如果你想从多个表中查询数据,并且生成的结果将包含共同的数据以及来自左表的所有数据,那么你可以按照下面的命令使用左连接。
SELECT select_list
FROM table1
LEFT JOIN table2 ON condition;
8.如果你想查询多个表,并得到两个表的共同结果以及右表的所有数据,那么你可以使用下面的命令进行右连接。
SELECT select_list
FROM table1
RIGHT JOIN table2 ON condition;
9.如果你想在表的行上应用笛卡尔乘积,那么你可以使用下面的命令。
SELECT select_list
FROM table1
CROSS JOIN table2;
10.如果要计算表内可用的行数,可以使用下面的命令。
SELECT COUNT(*)
FROM table1_name;
11.对于结果集的排序,你可以使用下面提到的语法。
SELECT
select1_list
FROM
table1_name
ORDER BY
column1 ASC [DESC],
column2 ASC [DESC];
12.对于根据提到的列列表对行进行分组,你可以使用下面提到的句法。
SELECT select1_list
FROM table1_name
GROUP BY column_1, column_2, ...;
13.如果你想根据给定的条件过滤特定的组,那么你可以使用HAVING子句和GROUP BY子句,如下面的句法所示。
SELECT select1_list
FROM table1_name
GROUP BY column1
HAVING condition1;
修改表格中的数据
1.如果要在现有表格中插入一条特定的行,请使用以下命令。
INSERT INTO table_name(column_list)
VALUES(value_list);
2.如果你想在现有的表中插入多条记录,那么你可以使用下面的命令。
INSERT INTO table_name(column_list)
VALUES(value_list1),
(value_list2),
(value_list3),
...;
3.如果你想更新一个表中的所有行,那么你可以使用下面的语法和更新命令。
UPDATE table_name
SET column1 = value1,
...;
4.如果你想更新某些特定行的数据,那么你可以使用WHERE子句来实现。
UPDATE table_name
SET column_1 = value_1,
...
WHERE condition;
5.如果你想更新表中的行,你可以使用下面的命令。
UPDATE
table1,
table2
INNER JOIN table1 ON table1.column1 = table2.column2
SET column1 = value1,
WHERE condition1;
6.如果要删除表中的所有行,你可以使用下面提到的命令。
DELETE FROM table1_name;
7.如果你想用一个条件来删除指定的行,你可以使用下面的命令。
DELETE FROM table_name
WHERE condition;
8.如果你想用连接来删除行,那么你可以使用下面的命令。
DELETE table1, table2
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column2
WHERE condition;
搜索
1.如果你想搜索数据,那么你可以使用LIKE操作符,如下面的命令所示。
SELECT select_list
FROM table_name
WHERE column LIKE '%pattern%';
2.如果你想搜索文本,那么你可以使用正则表达式,如下面所示的RLIKE操作符。
SELECT select_list
FROM table_name
WHERE column RLIKE 'regular_expression';
结论
在这个MySQL小抄中,你学到了基本和最常用的MySQL查询,这些查询用于执行频繁的任务。根据你的创造力和技能,你甚至可以创建复杂而优化的查询来检索存储在数据库中的数据。
如果你要参加面试,那么你可以使用这个小抄来刷新你的技能,因为我们几乎涵盖了MySQL的每个重要方面。因此,开始学习并根据变化的趋势提高你的技能。