-
存储过程与自定义函数的区别
【1】存储过程实现的功能要复杂一些;而函数的针对性更强(实际工作中很少使用函数针对表进行操作,都是使用存储过程对表进行操作)。
【2】存储过程可以返回多个值,而函数只能有一个返回值。
【3】存储过程一般独立的来执行(CALL 存储过程名),而函数一般作为SQL语句的组成来出现和内置函数功能一致。
查看全部 -
MySQL创建带有多个OUT类型参数的存储过程(创建存储过程根据年龄age字段删除记录,返回的信息有两个,一个是删除的用户数,一个是剩余的用户数)
调用多个OUT类型参数的存储过程
ROW_COUNT()函数:得到插入、删除、更新、被影响到的记录总数(SELECT ROW_COUNT())。
CONCAT(参数1,参数2):在原有参数1值上加上参数2.
查看全部 -
三种管理工具;PHPMyAdmin 。Navicat。MySQL Workbench后两种相似
查看全部 -
修改存储引擎;1,修改MySQL配置文件
default-storage-engine=INNODB(或者其他的)
2,创建数据表时,CREATE TABLE table_name(
...
...
) ENGINE = engine;
修改; ALTER TABLE table_name ENGINE [=] engine_name;
查看全部 -
存储限制;Memory的由内存大小决定
CSV存储引擎不支持索引
BlackHole;黑洞引擎,写入的数据都会消失,一般用作数据复制的中继
MyISAM;适用于事物的处理不多的情况
InnoDB;适用于事物的处理比较多,需要有外键支持的情况
查看全部 -
外键;保证数据一致性的策略
索引;对数据表中的一列或多列的值进行排序的一种结构。
分为;普通索引,唯一索引,全文索引....
查看全部 -
事物;用于保证数据库的完整性。(将几个过程作为一个整体)
事物的特性;A原子性,C一致性,I隔离性,D持久性
查看全部 -
并发控制;(当多个连接对记录进行修改时保证数据的一致性和完整性)对于多个用户同时连接数据库并对同一条数据操作造成的混乱。在处理并发读或并发写时,系统会采用一套锁系统。
锁的力度(锁的颗粒);只对需要加锁的记录进行加锁。
加锁会增加系统的开销,所以通过所策略在数据安全和锁开销之间进行一种平衡
索颗粒;表锁;一种开销最小的锁策略
行锁;一种开销最大的锁策略
查看全部 -
存储过程更多对表的操作。
存储过程一般独立出现,就一句CALL 过程名;(因为在存储过程中包括了多个sql语句)
但函数一般作为多个sql语句的一部分出现。SELECT goods_id FROM tdb_goods WHERE 某个函数
查看全部 -
ROW_COUNT()(系统函数);得到插入,删除,更新的被影响到的记录的总数
查看全部 -
SELECT count(id) FROM users INTO userNums; INTO是将查询结果的表达式传给userNums这个参数。
在begin end之间通过DECLARE创建的变量为局部变量,只在begin end中有效。
用SELECT.... INTO @...和SET @... 创建的变量为用户变量,在当前客户端上均有效。
查看全部 -
修改存储过程只能修改几个简单的选项,例如注释,内容的类型等。并不能修改过程体。如要修改过程体,则将原来的过程删除,然后重新创建。
DROP PROCEDURE [IF EXISTS] sp_name
查看全部 -
存储过程在封装时没有参数的话,小括号带有不带有都可以。
查看全部 -
sp_name 存储过程名。pro_parameter 参数,可以没有。
DEFINER =user|CURRENT_USER表示创建者,若这句话省略的话,就默认为登陆到MySQL客户端的用户
IN;该参数的值必须在存储过程时指定。
OUT;该参数的值可以被存储过程改变,并且可以返回
INOUT;改参数在调用时指定,并且可以被改变和返回
过程体:由合法的sql语句构成。可以是任意(记录的增删改查和多表连接等操作)。若为复合结构则使用BEGIN ...END语句;
复合结构可以包含声明,循环,控制结构
查看全部 -
UNIQUE KEY 唯一约束 唯一约束保证记录的唯一性 唯一约束的字段可以为空值(NULL) 每张表可以存在多个唯一约束 CREATE TABLE tb5( id SMALLINT UNSIGNED AUOT_INCREMENT PRIMARY KEY, username VARCHAR (20) NOT NULL UNIQUE KEY, age TINYINT UNSIGNED ); SHOW COLUMNS FROM tb5; INSERT tb5 (username,age) VALUES (" T om",23); INSERT tb5 (username,age) VALUES (" T om",23);// ERROR: Duplicate entry " Tom " for key " username "查看全部
举报