MySQL基础技能与原理―-基础技能篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择列
使用`SELECT`语句可以选择特定 的列。例如,`SELECT id, name
FROM mytable;`
过滤数据
使用`WHERE`子句可以过滤出满 足特定条件的记录。例如, `SELECT * FROM mytable WHERE age > 18;`
01
03
02 04
对结果排序
使用`ORDER BY`子句可以对查 询结果进行排序。例如, `SELECT * FROM mytable ORDER BY age DESC;`
删除表
使用`DROP TABLE`语句可以删除一个表。例如, `DROP TABLE mytable;`
3
修改表
可以使用`ALTER TABLE`语句来修改表的结构, 如添加、删除或修改列,添加或删除索引等。
数据的插入、更新和删除
插入数据
使用`INSERT INTO`语句可以向表 中插入数据。例如,`INSERT INTO mytable (id, name) VALUES (1, 'John');`
事件是在数据库服务器的后台线 程中执行的,不会影响其他数据 库操作。
THANKS
感谢观看
CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_body;
触发器的调用时机
在满足触发条件时自动调用触发器。
触发器的执行环境
触发器是在存储过程或函数的环境中执行的,可以使用存储过程或 函数的特性。
mysql基础技能与原 理―-基础技能篇
目录
• MySQL简介 • MySQL基础操作 • MySQL数据类型 • MySQL索引与优化 • MySQL存储过程和函数 • MySQL触发器和事件
01
MySQL简介
MySQL的发展历程
1996年
发布MySQL 1.0版本,开始支 持BLOB和TEXT数据类型。
在查询中对列使用函数操作可能会使索引失效,从而降低查询效率。
05
MySQL存储过程和函数
存储过程的基本概念
01
存储过程是一组为了完成特定功能的SQL语句集合, 可以被调用执行。
02
存储过程可以包含复杂的逻辑和多条SQL语句,并 且可以接受参数和返回值。
03
存储过程可以保存在数据库中,方便重复使用和管 理。
云计算服务
MySQL可以作为云计算服务的数据库解决方案, 提供高效、可靠的数据存储和管理服务。
02
MySQL基础操作
数据库的创建、删除和修改
创建数据库
使用`CREATE DATABASE`语句可 以创建一个新的数据库。例如, `CREATE DATABASE mydatabase;`
删除数据库
使用`DROP DATABASE`语句可以 删除一个数据库。例如,`DROP DATABASE mydatabase;`
04
MySQL索引与优化
索引的基本概念
索引是数据库中用于提高检索操作速度的数据结构,通过索引,数据库系统可以快速找到所需数据, 而不需要对整个表进行扫描。
索引可以大大提高查询速度,但同时也会占用额外的磁盘空间,并可能降低数据插入、删除和更新的速 度。
索引的基本类型包括B-tree索引、哈希索引、全文索引等。
修改数据库
数据库一旦创建,一般无法直接修 改其属性。但可以通过添加、删除 或修改表来间接改变数据库的结构。
表的创建、删除和修改
1 2
创建表
使用`CREATE TABLE`语句可以创建一个新的表。 例如,`CREATE TABLE mytable (id INT, name VARCHAR(50));`
2000年
发布MySQL 4.0版本,引入了 基于InnoDB存储引擎的完整 的事务支持。
1995年
MySQL AB公司成立,发布 MySQL 0.9.0版本。
1998年
MySQL AB公司被Sun Microsystems公司收购。
2008年
MySQL被甲骨文公司收购。
MySQL的特点和优势
开源
跨平台性
MySQL可以在多种 操作系统上运行,如 Windows、Linux、 Mac OS等。
MySQL的应用场景
Web应用
MySQL是最流行的Web应用数据库之一,被广 泛应用于各种类型的网站和应用程序中。
移动应用
MySQL可以与移动应用配合使用,提供数据存 储和访问服务。
ABCD
企业应用
MySQL可以作为企业级应用的后端数据库,支 持各种业务数据的管理和存储。
浮点数类型
包括FLOAT、DOUBLE、DECIMAL,用于存储浮点数。
数值类型属性
如UNSIGNED表示无符号,ZEROFILL表示自动填充0等。
日期和时间类型
DATETIME
用于存储日期和时 间值,格式为 YYYY-MM-DD HH:MM:SS。
TIME
用于存储时间值, 格式为HH:MM:SS。
定期使用`OPTIMIZE TABLE`语 句对表进行维护和重建,可以 优化索引的使用效果。
查询优化的基本原则
01
减少查询中的数据量
通过使用合适的筛选条件和排序规则,减少查询结果中的数据量,从而
提高查询速度。
02
使用连接(JOIN)代替子查询
在某些情况下,使用连接代替子查询可以提高查询效率。
03
避免在查询中使用函数操作
MySQL是一个开源 的关系型数据库管理 系统,可以免费使用 和修改。
易用性
MySQL提供了丰富 的开发工具和接口, 使得开发者可以轻松 地使用和管理数据库。
性能
MySQL具有高效的 查询性能和强大的可 扩展性,能够处理大 规模的数据和复杂的 查询。
稳定性
MySQL经过多年的 发展和完善,已经具 备了很高的稳定性和 可靠性。
更新数据
使用`UPDATE`语句可以更新表中 的数据。例如,`UPDATE mytable SET name = 'Jane' WHERE id = 1;`
删除数据
使用`DELETE FROM`语句可以从 表中删除数据。例如,`DELETE FROM mytable WHERE id = 1;`
查询数据的基本操作
06
MySQL触发器和事件
触发器的基本概念
01
触发器是一种特殊的存储过程,当满足特定条件时,会自动执 行。
02
触发器可以与表事件(INSERT、UPDATE、DELETE)相关联,
也可以与数据库或服务器事件相关联。
触发器可以用于实现数据完整性、业务规则和自动任务等。
03
触发器的创建与调用
创建触发器的基本语法
索引的创建与删除
创建索引
在MySQL中,可以使用`CREATE INDEX`语句来创建索引。例如, `CREATE INDEX idx_name ON table_name(column_name);`
删除索引
可以使用`DROP INDEX`语句来删除 索引。例如,`DROP INDEX idx_name ON table_name;`
调用函数使用函数名称和参数,可以直接在查询中使 用。
函数是一种特殊的存储过程,主要用于返回单 一值。
在函数中编写SQL语句,计算并返回所需的值。
存储过程和函数的优缺点
提高代码复用性
存储过程和函数可以在多个地方重复使用,减少代码冗余。
提高性能
通过预编译和缓存机制,存储过程和函数可以提高查询性能 。
存储过程和函数的优缺点
事件的基本概念
事件是一种定时任务,可以在指定的时间间隔内自动执行。
事件可以用于实现定期清理数据、备份数据、发送通知等任 务。
事件的创建与调用
01
创建事件的基本语 法
CREATE EVENT event_name DO event_body;
02
事件的调用时机
Hale Waihona Puke 03事件的执行环境
在到达指定时间时自动调用事件。
• 增强安全性:可以限制对数据的直接访问,通过 调用存储过程或函数来执行操作,增加了一层安 全控制。
存储过程和函数的优缺点
学习曲线
对于初学者来说,理解和编写存储过程和函 数可能需要更多的学习时间和经验。
可移植性
在不同的数据库系统中,存储过程和函数的语法和 功能可能有所不同,影响可移植性。
调试困难
当存储过程或函数出现问题时,调试可能比 单个SQL语句更复杂。
TEXT
用于存储长文本数据,最大长度 为65535个字符。
CHAR
用于存储定长字符串,长度范围 是0到255个字符。
BLOB
用于存储二进制数据,最大长度 为65535个字符。
二进制数据类型
BINARY
01
用于存储二进制字符串。
VARBINARY
02
用于存储可变长的二进制字符串。
BLOB
03
用于存储大量的二进制数据。
存储过程的创建与调用
01 创建存储过程使用`CREATE PROCEDURE`语句, 需要指定存储过程的名称和参数。
02 在存储过程中编写需要的SQL语句,完成所需功 能。
03 调用存储过程使用`CALL`语句,通过存储过程的 名称和参数进行调用。
函数的创建与调用
创建函数使用`CREATE FUNCTION`语句,需 要指定函数的名称、参数和返回类型。
对结果分组
使用`GROUP BY`子句可以将结 果按照一个或多个列进行分组。 例如,`SELECT age, COUNT(*) FROM mytable GROUP BY age;`
03
MySQL数据类型
数值类型
整数类型
包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,用 于存储整数。
索引的优化策略
选择合适的索引列
根据查询条件选择合适的列作 为索引列,以提高查询速度。
避免全表扫描
尽量避免在没有使用索引的情况下 进行全表扫描,可以通过优化查询 语句或添加合适的索引来避免。
控制索引长度
对于字符串类型的列,可以考虑使 用前缀索引来减少索引的长度,从 而减少索引的存储空间占用。
定期维护和重建索引
DATE
用于存储日期值, 格式为YYYY-MMDD。
TIMESTAMP
用于存储时间戳, 格式为YYYY-MMDD HH:MM:SS。
YEAR
用于存储年份值, 可以是两位或四位 数字。
字符串类型
VARCHAR
用于存储可变长字符串,长度范 围是0到65535个字符。
TINYTEXT
用于存储短文本数据,最大长度 为255个字符。
相关文档
最新文档