存储引擎 存储过程 存储函数

1、存储引擎就是指表的类型。数据库引擎决定了表在计算机中的存储方式。

一、查看mysql数据库支持的存储引擎
mysql> show engines \G          \G 数据成列显示,这时不用写分号了
或者
mysql> show variables like 'have%';
二、查询默认的存储引擎
mysql> show variables like 'storage_engine';
2、InnoDB存储引擎
优势:支持事物处理,支持外键,支持崩溃修复能力和并发控制,实现事务的提交和回滚。
缺点:读写效率稍差,占用的空间相对比较大
3、MyISAM存储引擎
优势:占用空间小,处理速度快
缺点:不支持事务的完整性和并发性。
4、MEMORY存储引擎
表的全部数据存储在内存上,内存出现异常会影响数据完整性。
优势:在内存中,处理速度很是快

缺点:安全性不高,数据易丢失,生命周期短,通常都是一次性。 mysql

开始存储过程以前还有一个工做要作,就是修改MySql的结束符,系统默认的是‘;’不过要创建存储过程,再用这个默认的分号就不方便了,把结束符改成‘//’,操做起来很简单,命令:DELIMITER // ,搞定;

好了,创建第一个存储过程:
CREATE PROCEDURE p1 () SELECT * FROM t; //
SQL语句存储过程的第一部分是 “CREATE PROCEDURE”:第二部分是过程名,上面新存储过程的名字是p1。这个很容易理解,就是一个简单的select语句;
mysql> CALL p1() //
+------+
| s1   |
+------+
|    5 |
+------+
1 row in set (0.03 sec)
Query OK, 0 rows affected (0.03 sec)
当调用这个存储过程的时候,会获得这个结果。
再练习一个打印‘Hello,Worle!’的存储过程:
CREATE PROCEDURE HelloWorld() select 'Hello,World!' //
调用:
mysql> CALL HelloWorld()//
+-------------+
| Hello,World |
+-------------+
| Hello,World |
+-------------+
1 row in set (0.00 sec)
好了,先写到这个,继续学习。 最后别忘了把分隔符变回来,命令 delimiter ; sql

建立一个mysql函数命令以下: 数据库

     create function 函数名(参数名 参数类型)returns 返回类型
          begin
               statement;
          end;
     示例以下:
     create function gets(s int)returns int
          begin
               declare a int;     //mysql中声明变量不须要@!!!跟其余数据库不太同样!!切记!!!
               set @a=3;       //每句以后需加一个;否则报错!!!
               return @a+s;   //要有返回语句!!!

          end;

下面就能够直接调用了:gets(3); 安全

=============================================================================
并发

Mysql修改列类型语句以下:
alter table 表名 change 列名 列名 要修改的列类型;
Mysql修改列名语句以下:
alter table 表名 change 列名 要修改的列名 原来的类型;
Mysql添加一列:
alter table 表名 add column 要加的列名 要加的列名类型;
MYsql删除一列:
alter table 表名 drop column 要删除的列名;
相关文章
相关标签/搜索