# Database **Repository Path**: JxnuHxh/Database ## Basic Information - **Project Name**: Database - **Description**: 数据库原理 和 SQL语句的学习《MySQL必知必会》刷书总结,主要是MySQL和Redis学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Database 数据库是通过DBMS创建和操纵的容器 模式是关于数据库和表的布局及特性的信息 ## MySQL 我将着重介绍MySql,因为这是我最常用的数据库,为什么我用他呢? 1.成本——MySQL是开放源代码的,一般可以免费使用(甚至可以 免费修改)。 2.性能——MySQL执行很快(非常快)。 3.可信赖——某些非常重要和声望很高的公司、站点使用MySQL, 这些公司和站点都用MySQL来处理自己的重要数据。 4.简单——MySQL很容易安装和使用。 存储过程(Stored Procedure)是一组为了完成特定功能的 SQL 语句集,经编译后存 储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执 行它。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个 单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明 变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所 以执行起来比单个 SQL 语句快。 存储过程的优点:(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需 再重新编译, 而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行 速度; (2) 当对数据库进行复杂操作时(如对多个表进行 Update, Insert, Query, Delete 时) , 可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用;(3)存储过 程可以重复使用,可减少数据库开发人员的工作量;(4)安全性高,可设定只有某此用户才 具有对指定存储过程的使用权。 存储过程的缺点:(1)如果更改范围大到需要对输入存储过程的参数进行更改,或者 要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调 用, 等等, 这时候估计比较繁琐了。 (2) 可移植性差。 由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。