【holm】数据库应用技术(MySQL)期末复习指南

时间:2020-05-14 19:45:16   收藏:0   阅读:83

mysql默认数据库

mysql常用的命令

数据库命令

操作表


DROP,TRUNCATA,DELETE区别


sql语句定界符,一般默认的定界符是分号:


数据类型

约束

查询

常用的函数

case 表达式
	when value1 then result1
	when value2 then result2
	....
	else result1
end:表达式和那个value相等,返回对应的result

索引


视图

触发器

CREATE
    [DEFINER = user]
    TRIGGER trigger_name
    `trigger_time` `trigger_event`
    ON tbl_name FOR EACH ROW
    [`trigger_order`]
    trigger_body

`trigger_time`: { BEFORE | AFTER }

`trigger_event`: { INSERT | UPDATE | DELETE }

`trigger_order` { FOLLOWS | PRECEDES } other_trigger_name

create trigger `触发器名称` `time`  `事件` 
    on `表名` for each row 
    trigger_sql

`time`:before|after
`事件`:insert|delete|update

`trigger_sql`:
begin
... 
end

删除触发器:drop trigger if exists 触发器名称

修改结尾符号:delimiter

存储过程

语法:
	create 用户定义 procedure 存储过程名称(参数)
		特性 存储过程sql
	参数:in、out、inout
	存储过程sql:begin end
-- CREATE PROCEDURE and CREATE FUNCTION Syntax 

CREATE
    [DEFINER = user]
    PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body

CREATE
    [DEFINER = user]
    FUNCTION sp_name ([func_parameter[,...]])
    RETURNS type
    [characteristic ...] routine_body

 proc_parameter:
    [ IN | OUT | INOUT ] param_name type

 func_parameter:
    param_name type

 type:
    Any valid MySQL data type

 characteristic:
    COMMENT ‘string‘
  | LANGUAGE SQL
  | [NOT] DETERMINISTIC
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }

 routine_body:
    Valid SQL routine statement

调用存储过程:call 存储过程名称

存储函数

语法:
	create function 函数名称(参数)
	returns type 特性 函数sql
	参数:只有in,可以忽略不写
	type:mysql任意类型

调用:select 函数名称(参数)

变量

声明:

  1. 局部:declare 变量名称 type [default value](只能在beginend之间定义局部变量)
  2. 全局:set @[变量名称] = value

赋值:set 变量名称 = 值
使用:select 表达式 into 变量名称 from 表名

异常处理

declare 条件名称 condition for [type]

  type:字符串错误码,数值型错误码
declare [action] handler for [type] begin ... end
  action:continue,exit
  type:字符串错误码
        数值型错误码
        条件名称:SQLWARNING,NOT FOUND,SQL EXCEPTION

游标

流程控制

--  if:
		if 条件表达式 then sql1
		elseif 条件表达式2 then sql2
		else sql3
		endif;
--  case:
		case 表达式
		when value1 then 语句块1
		when value2 then 语句块2
		.....
		else 语句块n
		end case;		

--  repeat:
		repeat
			循环体
		until 条件表达式
		end repeat
--  while:
		while 条件表达式 do
			循环体
		end while
--  loop:
		loop
			循环体

			leave;
		end loop

-- `leave`:跳出当前循环体
-- `iterate`:结束本次循环,进入下一次循环

事务

	savepoint [保存点名称];
	release savepoint [保存点名称];
	rollback to savepoint [保存点名称];

事务的ACID特性

:innodb(mysql默认的存储引擎)


隔离级别

连表查询
存储引擎
主外键
like
where
having
commit

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!