那些年的记忆

习惯改变行为,行为决定命运。

复习(九) MySQL存储引擎

MySQL将数据以不同的技术存储在文件(内存)中,这种技术称为存储引擎。

常用存储引擎及特点

特点
MyISAM InnoDBMemoryArchive
存储限制256TB
64TB
事务安全
-
支持--
支持索引
支持支持
支持
-
表锁
行锁
表锁
行锁
数据压缩支持
-
-支持
支持外键-
支持
-
-


复习(八) MySQL存储过程

存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。

优点:

    增强SQL语句的功能和灵活性

    实现较快的执行速度

    减少网络流量

创建存储过程

CREATE

[DEFINER = {user | CURRENT_USER}]

PROCEDURE sp_name ([proc_parameter[,...]])

[characteristic ...] routine_body

复习(七) 自定义函数

用户自定义函数(user-defined function,UDF)是一种MySQL扩展的途径,其用法与内置函数相同。

函数可以返回任意类型的值,也可以接收这些类型的参数。

创建自定义函数

CREATE FUNCTION function_name

RETURNS

{STRING | INTERGER | REAL | DECIMAL}

routine_body

复习(六) 运算符和函数

字符函数

CONCAT()    字符连接

CONCAT_WS() 使用指定的分隔符进行连接

FORMAT()    数据格式化

LOWER()     转换为小写字母

UPPER()     转换为大写字母

LEFT()      获取左侧字符

RIGHT()     获取右侧

复习(五) 子查询与连接

在客户端设置字符集

mysql> SET NAMES gbk;

子查询

子查询是指出现左其他SQL语句内的SELECT子句。

子查询指嵌套在查询内部,且必须始终出现在圆括号内。

子查询可以包含多个关键字或条件,如DISTINCT、GROUP BY、ORDER BY、LIMIT、函数等。

子查询的外层查询可以是:S

复习(四) 表记录操作

插入记录 INSERT

INSERT [INTO] table_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...

INSERT [INTO] table_name SET col_name = {expr | DEFAULT},...

INSERT [INTO] table_name [(col_name,...)] SELECT ...

例如:

复习(三) 约束及修改数据表

约束的概念

约束保证数据的完整性和一致性。

约束分为表级约束和列级约束

约束类型包括:

    NOT NULL(非空约束)

    PRIMARY KEY(主键约束)

    UNIQUE KEY(唯一约束)

    DEFAULT(默认约束)

    FOREIGN KEY(外键约束)

复习(二) 数据类型及数据表操作

1. 数据类型

数据类型是指列、存储过程参数、表达式或局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。


整型:TINYINT(1个字节)、SMALLINT(2个字节)、MEDIUMINT(3个字节)、INT(4个字节)、BIGINT(8个字节)

浮点型:FLOAT、DOUBLE


日期时间型:YEAR、TIME、DATE、DATETIME、TIMESTAMP

注:日期

复习(一) 概述及数据库操作命令

1. 基础

MySQL由瑞典MySQL AB公司开发,目前属于ORACLE公司。

MySQL是一个开源的关系型数据库管理系统。

MySQL分为社区版和企业版。


MySQL目录结构:

bin目录 存储可执行文件

data目录 存储数据文件

doc目录 存储文档

include目录 存储包含的头文件

lib目录 存储库文件

share目录 错误消息和字

数据库优化之基本语句优化10个原则

原则1. 尽量避免在列上进行计算,这样会导致索引失效。

如:

SELECT * FROM t WHERE YEAR(d) >= 2011;

优化为:

SELECT * FROM t WHERE d >= '2011-01-01';