Mysql知识归纳总结

MySQL是一款广泛应用于Web开发的关系型数据库管理系统。作为开源软件,MySQL提供了高性能、可靠性和可扩展性,并且在多个平台上都得到了广泛的应用。本文将对MySQL的关键知识进行归纳总结,旨在帮助读者更好地理解和应用MySQL。

1

. 数据库基础

1.1 数据库的概念和组成

数据库是指存储数据的容器,它由数据、数据结构和操作数据的一组程序组成。数据库中的数据以表的形式存储,每个表由行和列组成。

1.2 数据库设计范式

数据库设计范式是一组规则,用于规范数据库表的结构,提高数据库的数据一致性和查询效率。常见的数据库设计范式有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
1、第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据线;也就是说:每列的值具有原子性,不可再分割。
2、第二范式(2NF)是在第一范式(1NF)的基础上建立起来得,满足第二范式(2NF)必须先满足第一范式(1NF)。如果表是单主键,那么主键以外的列必须完全依赖于主键;如果表是复合主键,那么主键以外的列必须完全依赖于主键,不能仅依赖主键的一部分。
3、第三范式(3NF)是在第二范式的基础上建立起来的,即满足第三范式必须要先满足第二范式。第三范式(3NF)要求:表中的非主键列必须和主键直接相关而不能间接相关;也就是说:非主键列之间不能相关依赖。

2. SQL语言

2.1 SQL语言简介

SQL(Structured Query Language)是用于管理和操作关系型数据库的语言。它可以实现数据的查询、插入、更新和删除等操作。

2.2 基本SQL语句

SQL语言包括多种基本语句,如SELECT、INSERT、UPDATE和DELETE。这些语句用于实现对数据库的数据操作和查询。

 2.3 SQL函数

MySQL提供了众多内置函数,用于在SQL语句中进行数据处理和计算。常见的SQL函数包括聚合函数(SUM、AVG、COUNT等)、字符串函数(CONCAT、SUBSTRING等)和日期函数(NOW、DATE_FORMAT等)等。



3. 数据库管理

3.1 数据库的创建和删除

使用CREATE DATABASE或CREATE SCHEMA语句可以创建数据库,使用DROP DATABASE

语句可以删除数据库。创建数据库时可以指定字符集和校对规则。

语法如下:

CREATE SCHEMA 数据库名;
CREATE DATABASE 数据库名;
DROP DATABASE 数据库名;


 3.2 表的创建和删除

使用CREATE TABLE语句可以创建表,指定表的字段、数据类型、约束等。使用DROP TABLE语句可以删除。

语法如下:

CREATE TABLE<表明>(
列名1 数据类型[列/行级约束...];
列名2 数据类型[列/行级约束...];
列名3 数据类型[列/行级约束...];
);
DROP TABLE<表名>


3.3 索引和主键

索引是一种数据结构,用于加快对数据库表的查询速度。主键是一种特殊的索引,用于唯一标识表中的每一行数据。

 3.4 数据的导入和导出

使用LOAD DATA INFILE语句可以将外部数据文件导入到数据库表中,使用SELECT INTO OUTFILE语句可以将查询结果导出到外部文件。
3.5 查看和选择数据库

使用show create database查看指定数据库的创建信息;使用use使用指定数据库。

语法如下:

show create database 数据库名;
use 数据库名;

4.数据库的数据类型

4.1 整数类型

根据数值取值范围的不同MySQL 中的整数类型可分为5种,分别是TINYINT、SMALUNT、MEDIUMINT、INT和 BIGINT。

4.2浮点数类型和定点数类型

在MySQL数据库中使用浮点数和定点数来存储小数。浮点数的类型有两种:单精度浮点数类型(FLOAT)和双精度浮点数类型(DOUBLE)。而定点数类型只有一种即DECIMAL类型。

4.3字符串类型

在MySQL中常用CHAR 和 VARCHAR 表示字符串。两者不同的是:VARCHAR存储可变长度的字符串。

5单表查询

5.1.1 SELECT语句

SELECT 语句可以实现对表的选择、投影及连接操作。即SELECT 语句可以根据用户的需要从一个或多个表中选出匹配的行和列,结果通常是生成一个临时表。SELECT 语句功能强大,有很多子句,所有被使用的子句必须按语法说明中显示的顺序严格排序。例如,一个HAVING子句必须位于GROUPBY子句之后,并位于ORDERBY子句之前。
 语法格式如下:

SELECT [ALL I DISTINCT] 输出列表达式,..
[FROM 表名1[,表名2]…]	             /*FROM子句*/	
[WHERE 条件	                         /*WHERE 子句*/	
[GROUP BY{列名|表达式| 列编号)
[ASC I DESC],…	                      /* GROUP BY 子句*/	
[HAVING 条件	                      /*HAVING 子句*/	
[ORDER BY(列名|表达式|列编号)
[ASC | DESC] ,…]	                  /*ORDER BY子句*/	
[LIMIT {[编移量,]行数1行数OFFSET偏移量) /*LIMIT 子句*/

5.1.2选择列

1.选择指定的列

select 表达式

2.定义别列名

select列名[as]别名

3.替换查询结果中的数据

要替换查询结果中的数据,则要使用查询语句中的CASE表达式,其格式如下。

CASE
WHEN 条件1 THEN 表达式1		
WHEN 条件2 THEN 表达式2

...
ELSE 表达式n	
END

说明如下。
CASE表达式以CASE开始,以END结束,MySQL从条件1开始判断,条件1成立输出表达式1结束;若条件1不成立,判断条件2,若条件2成立,输出表达式2后结束…如果条件都不成立,输出表达式n。

5.1.3where语句

WHERE 句必须紧跟在FROM 子句之后,在WHERE子句中使用一个条件从FROM 子句的中间结果中选取行。
语句格式如下。

WHERE<判定运算>

判定运算:结果为 TRUE、FALSE 或UNKNOWN。

6 多表查询

6.1from子句

select的查询对象由from子句决定

格式如下

FROM 表名1[[AS]别名1][,表名2[[AS] 别名2]]	/*查询表*/
|JOIN子句                	                /*连接表*/

6.2多表连接

6.2.1连接方式

(1)全连接

(2)内连接

(3)外连接

6.2.2join连接

使用JOIN关键字建立多表连接时,JOIN子句中定义了如何使用JOIN关键字连接表

格式如下

表名1 INNER JOIN表名2
|表名1 { LEFT | RIGHT } [OUTER] JOIN 表名2	
            ON连接条件 | USING(列名)

(1)内连接
指定了INNER关键字的连接是内连接。内连接是在FROM 子句产生的中间结果中应用ON条件后得到的结果。

(2)外连接

指定了 OUTER 关键字的连接为外连接

 7. 数据库安全性

 7.1 用户管理和权限控制

MySQL支持创建用户、授权和撤销权限等操作,以保护数据库的安全性。合理的用户管理和权限控制可以防止未经授权的访问和操作。

 7.2 数据备份和恢复

定期进行数据库备份是保证数据安全的重要手段。MySQL提供了多种备份和恢复方式,如物理备份和逻辑备份等。

7.3 数据库加密

MySQL支持对敏感数据进行加密存储,以提高数据的安全性。常用的加密方式包括数据传输加密和数据存储加密。

本文对MySQL的关键知识进行了归纳总结,包括数据库基础、SQL语言、数据库管理、数据查询优化和数据库安全性等方面。通过深入理解和掌握这些知识,读者可以更好地应用MySQL进行数据管理和开发。希望本文能够为读者提供有价值的参考和帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值