1.存储引擎
MyISAM:存储限制256TB,支持索引,表级锁定,数据压缩。
InnoDB: 存储限制64TB,支持事务和索引,索颗粒为行锁。
2.锁的分类
3.锁颗粒
4.事务
事务:用于保证数据库的完整性。如:A用户给B用户转账200元。A用户减掉200,B用户增加200.
事务的特性:
5.存储引擎的特点
修改存储引擎:
(1.) 修改mysql配置文件:default-storage-engine=engine
(2.)通过创建数据表命令来实现:
CREATE TABLE table_name (
...
)ENGINE=engine;
(3.) 修改数据表命令
ALTER TABLE table_name ENGINE = engine_name;
6.内置函数
字符串函数、数值函数、日期时间函数、加密函数。
(1.)创建自定义函数
CREATE FUNCTION function_name
RETURNS
{STRING|INTERGER|REAL|DECIMAL}
routine_body
(2.)函数体
函数体由合法的SQL语句构成,函数体可以是简单的SELECT和INSERT,如果为复合体则使用BEGIN...END语句,复合结构可以包含声明,循环,控制语句。
CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(),‘%Y年%m月%d日 %H:%i分:%s秒‘);
SELECT f1(); -- 查看方法返回
DROP f1(); -- 删除方法
示例二:
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2)UNSIGNED
RETURN (num1+num2)/2;
7.Mysql执行过程
8.存储过程
(1.)存储过程的优点
(2.)创建存储过程
CREATE
[DEFINER = {USER|CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic...]routine_body
pro_parameter:
[IN|OUT|INOUT]param_name_type
COMMENT:注释
CONTAINS SQL:包含sql语句,但不包含独活写数据的语句
NO SQL:不包含SQL语句
READS SQL DATA:包含读数据的语句
MODIFIES SQL DATA:包含写数据的语句
SQL SECURITY{DEFINEER|INVOKER}知名谁有权限执行
(3.)调用存储过程
call sp_name([parameter[...]])
call sp_name[()]
(4.) 示例
DELIMITER // -- 修改默认的结束符号为//,执行完后改回分号。delimiter ;
CREATE PROCEDURE removedUserById(IN id INT UNSIGNED)
BEGIN
DELETE FROM USERS WHERE ID = id;
END
//
-- 执行调用 --
call removedUserById(3)
(5.)修改、删除存储过程
ALTER PROCEDURE ...
DROP PROCEDURE [IF EXISTS] sp_name
原文:https://www.cnblogs.com/tomtellyou/p/14466433.html