MySQL: 学习回顾

MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Web应用程序的后台数据存储。作为一名开发者或数据库管理员,熟练掌握MySQL技能是非常重要的。本博客将为你提供一系列有关MySQL的学习资源和实用技巧,帮助你在数据库领域迈出坚实的步伐。

目录

1.MySQL入门指南

1.1 了解MySQL

1.2 MySQL数据库基本指令

1.3 MySQL数据类型

1.4 MySQL中的基本单元表(table)

2.常见数据库操作

2.1 创建表

2.2 查询语句

2.3 插入语句

2.4 更新语句

2.5 删除语句

3.Where 子句

4.表连接

4.1 内连接(Inner Join)

4.2 左连接(Left Join)

4.3 右连接(Right Join)

5.数据视图(View)

5.1 创建视图

5.2 使用视图

5.3 更新视图

5.4 删除视图

6. 数据库编程

6.1创建和调用存储函数

6.2 函数的调用

7.触发器(Trigger)

7.1 创建触发器

7.2 删除触发器

总结


MySQL入门指南

了解MySQL:

        MySQL是一个关系数据库管理系统由瑞典MySQL AB公司开发,属于 Oracle旗下产品。MySQL 是最流行的关系数据库管理系统之一,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL数据库基本指令:

show databases查询当前服务器上所有数据库的命令
create database创建一个数据库
use 数据库使用或切换数据库的命令
drop database 数据库名称删除数据库
select database查询当前所在的数据库命令
create table 表名(.....)创建一个新表

        当然这些指令你同样可以在你的 Navicat 数据库管理工具中要鼠标点击完成。

MySQL数据类型:

类型大小用途
TINYINT1 Bytes小整数值
SMALLINT2 Bytes大整数值
INT 或 INTEGER4 Bytes大整数值
FLOAT4 Bytes单精度浮点数值
DOUBLE8 Bytes双精度浮点数值
DATE3 Bytes日期值
TIME3 Bytes时间值或持续时间
YEAR1 Bytes年份值
DATETIME8 Bytes混合日期和时间值
TIMESTAMP4 Bytes混合日期和时间值,时间戳
CHAR0-255 Bytes定长字符串
VARCHAR0-65535 Bytes变长字符串
TINYTEXT0-255 Bytes短文本字符串

MySQL中的基本单元表(table):

useridusernameclass
1张三计算机1班
2李四计算机2班

使用数据库的管理工具可以很直观的查看表。

每个表都有行和列

​ 行(row):被称为数据/记录

​ 列(column):被称为字段

每个字段拥有:字段名,数据类型,长度,是否允许为null,主键和外键等属性。

常见数据库操作:

创建表:

CREATE TABLE customers (
  -- 字段名 数据类型 其他约束
  customer_id INT PRIMARY KEY,
  customer_name VARCHAR(50),
  email VARCHAR(100)
);

查询语句:

SELECT * from customers;
-- 或者采用 AS 关键字设置列的别名
SELECT customer_id AS ID,customer_name AS Name from customers;

插入语句:

INSERT INTO customers (customer_id, customer_name, email)
VALUES (1, 'John Doe', 'john.doe@example.com');

更新语句:

UPDATE customers
SET customer_name = 'Jane Smith', email = 'jane.smith@example.com'
WHERE customer_id = 1;

删除语句:

DELETE FROM customers
WHERE customer_id = 1;

Where 子句

        where子句可以根据许多条件进行条件筛选,支持多种操作预算符

操作符描述
=等号,检测两个值是否相等
<>, !=不等于,检测两个值是否相等
>大于号,检测左边的值是否大于右边的值
<小于号,检测左边的值是否小于右边的值
>=大于等于号,检测左边的值是否大于或等于右边的值
<=小于等于号,检测左边的值是否小于或等于右边的值,
is null空值判断
and并且 与 && 类似
or或者 与 || 类型
LIKE模糊查询

 

操作实例:

-- 等号
SELECT * FROM customers WHERE customer_name = 'John Doe';
-- 不等于
SELECT * FROM customers WHERE customer_name <> 'John Doe';
-- 大于
SELECT * FROM orders WHERE order_date > '2022-01-01';
-- 模糊查询
SELECT * FROM customers WHERE customer_name LIKE 'J%';
-- 空值判断
SELECT * FROM customers WHERE email IS NULL;

表连接

        表连接是一种在关系型数据库中将多个表关联起来以检索相关数据的操作。通过表连接,可以利用表之间的关系,将数据从不同的表中联合起来,形成更有意义和完整的结果集。以下是一些常见的表连接类型:

内连接(Inner Join):

内连接根据两个表之间的匹配条件,仅返回两个表中满足条件的行。只有在连接条件成立时,两个表中的行才会被联合起来。内连接通常使用JOIN关键字表示。

SELECT * FROM customers 
JOIN orders ON 
customers.customer_id = orders.customer_id;

左连接(Left Join):

左连接返回左表(左侧的表)中的所有行,以及与右表(右侧的表)匹配的行。如果在右表中没有匹配的行,则返回空值。左连接使用LEFT JOIN关键字表示。

SELECT * FROM customers 
LEFT JOIN orders 
ON customers.customer_id = orders.customer_id;

右连接(Right Join):

右连接返回右表中的所有行,以及与左表匹配的行。如果在左表中没有匹配的行,则返回空值。右连接使用RIGHT JOIN关键字表示。

SELECT * FROM customers 
RIGHT JOIN orders ON 
customers.customer_id = orders.customer_id;

数据视图(View)

        视图(View)是在数据库中虚拟创建的逻辑表,它基于一个或多个基本表(或其他视图)的查询结果。视图并不实际存储数据,而是根据定义的查询规则动态生成结果集。通过视图,可以简化复杂的查询操作,提供更易于使用和理解的数据接口。以下是一些关于视图的说明:

创建视图

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;

使用视图

SELECT * FROM view_name;

更新视图

UPDATE view_name SET column1 = value1 WHERE condition;

删除视图

DROP VIEW view_name;

        视图可以隐藏复杂的查询逻辑和数据处理,使查询更加简洁明了。通过视图,可以限制用户对特定列或行的访问权限,保护敏感数据的安全性。视图提供了一种逻辑上的数据抽象,使应用程序与基础表的结构变化解耦。

数据库编程

创建和调用存储函数

        在数据库中,同样支持创建函数这种一段可重用的代码,用于执行特定的操作或计算,并返回一个值。下面是关于创建函数和调用函数的操作说明:

CREATE FUNCTION calculate_sum(a INT, b INT)
RETURNS INT
BEGIN
  DECLARE result INT;
  SET result = a + b;
  RETURN result;
END;

创建一个函数,计算两个数的和并返回结果。

函数的调用

SELECT calculate_sum(3, 4); -- 返回结果 7

函数的调用这需要,使用简单的 SELECT 语句即可。

触发器(Trigger)

          触发器(Trigger)是一种数据库对象,用于在数据库中定义与表相关联的自动化操作。当特定的数据库事件发生时,触发器会自动执行预定义的操作。触发器可以用于实现数据约束、数据验证、数据自动更新等功能。下面是关于触发器的一些说明:

创建触发器

      

CREATE TRIGGER update_customer_stats
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
  -- 获取插入的订单记录的客户ID
  DECLARE customer_id INT;
  SET customer_id = NEW.customer_id;
  
  -- 更新客户表的订单统计信息
  UPDATE customers
  SET total_orders = total_orders + 1,
      last_order_date = CURRENT_TIMESTAMP
  WHERE id = customer_id;
END;

示例触发器,它在向一个订单表插入新记录时自动更新相关客户表的统计信息。

删除触发器

DROP TRIGGER [IF EXISTS] trigger_name;

在上述实例中,trigger_name是要删除的触发器的名称。

总结

        在数据库学习的过程中,我掌握了关于数据库管理系统(DBMS)和数据库操作的重要知识和技能,掌握了对数据库的增删查改操作。MySQL数据库是一种功能强大且广泛使用的关系型数据库管理系统。通过学习MySQL,我能够有效地存储和管理大量的数据,并进行高效的数据查询和操作。我将继续深入学习和探索数据库的高级概念和技术,以应对不断发展的数据管理需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦韦诺诺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值