mysql科普小知识_MySQL小知识

1.MySQL建立存储过程语句1

2

3

4

5

6DELIMITER $$ //修改定界符为$$

CREATE PROCEDURE `findAllBook`()

BEGIN

SELECT * FROM tb_books order by id desc;

END $$ //定界符结束标记

DELIMITER ; //重置定界符为;

2.Mysql存储引擎特点属性MyisamBDBMemoryInnoDBArchive存储限制没有没有有64TB没有

事务安全支持支持

锁机制表锁页锁表锁行锁行锁

B树索引支持支持支持支持

哈希索引支持支持

全文索引支持

集群索引支持

数据缓存支持支持

索引缓存支持支持支持

数据可压缩支持支持

空间使用低低N/A高非常低

内存使用低低中等高低

批量插入速度高高高低非常高

支持外键支持

Myisam和InnoDB为常用引擎,Myisam是Mysql的默认存储引擎。

3.锁机制

页级:引擎 BDB。

表级:引擎 MyISAM ,锁住整个表,可以同时读,不可写

行级:引擎 INNODB ,单独的一行记录加锁

表级:锁定整张表,锁定期间,其它进程无法对该表进行写操作。如果是写锁,则其它进程也不允许读。

行级:仅对指定的记录进行加锁,其它进程还是可以对同一个表中的其它记录进行操作。

页级:表级锁速度快,但冲突多;行级冲突少,但速度慢。页级取了折衷,一次锁定相邻的一组记录。

4.SQL语言分类

数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

4.1 数据查询语言DQL

SELECT FROM WHERE

4.2 数据操纵语言DML

三种形式:

1) 插入:INSERT

2) 更新:UPDATE

3) 删除:DELETE

4.3 数据定义语言DDL

用来创建表/视图/索引/同义词/聚簇:

CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

4.4 数据控制语言DCL

用来授予或回收访问数据库的特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视。如:

1) GRANT:授权。

2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

回滚命令使数据库状态回到上次最后提交的状态。格式为:

SQL>ROLLBACK;

3) COMMIT [WORK]:提交。

在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。

提交数据有三种类型:显式提交、隐式提交、自动提交。

(1) 显式提交

用COMMIT命令直接完成的提交为显式提交。格式为:

SQL>COMMIT;

(2) 隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:

ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,

EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

(3) 自动提交

把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,

系统将自动进行提交。其格式为:

SQL>SET AUTOCOMMIT ON;

5.ACID原子性(Atomicity):原子操作,对数据的修改,要么全部执行,要么全都不执行;

举例:银行转账:A账户有100元,B账户有50元。A要给B转10元,这个事务要么成功,要么失败,绝对不允许出现A取出10元就发生了错误,B没收到钱,

A也失去了10元。也就是不可能停滞在中间某个环节。

一致性(Consistency):在事务开始和完成时,数据都必须保持一致状态;

举例:银行转账: 假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,在这5个账户之间同时发生多个转账

,无论并发多少个,比如在A要给B转10元,C要给D转10元,五个账户总额还是500元。

隔离性(Isolation):数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境执行;

举例:有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。

这种属性称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。

持久性(Durability):事务完成后,对于数据的修改是永久性的,即使出现系统故障也能够保持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值