尚学堂036天总结+MySQL

036天

行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

知识温故而知新>>>>>>  

SQL语句中增删改查语句汇总

今天学到的知识>>>>>>

MySQL中的正则表达式

MySQL 数据库引擎介绍

1.ISAM(IndexedSequentialAccessMethod)

ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数 据库被查询的次数要远大于更新的次数。因此,ISAM 执行读取操作的速度很快,而且不占 用大量的内存和存储资源。ISAM 的两个主要不足之处在于,它不支持事务处理,也不能够容错。如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把 ISAM 用在关键任 务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL 能够支持这样的备份应用程序。 注意:使用 ISAM 时必须经常备份所有实时数据。

2.MyISAM

MyISAM 是 MySQL 的 ISAM 扩展格式和缺省的数据库引擎。除了提供 ISAM 里所没有 的索引和字段管理的大量功能,MyISAM 还使用一种表格锁定的机制,来优化多个并发的 读写操作,其代价是你需要经常运行 OPTIMIZETABLE 命令,来恢复被更新机制所浪费的 空间。MyISAM 还有一些有用的扩展,例如用来修复数据库文件的 MyISAMCHK 工具和用 来恢复浪费空间的 MyISAMPACK 工具。MYISAM 强调了快速读取操作,这可能就是为什 么 MySQL 受到了 WEB 开发如此青睐的主要原因:在 WEB 开发中你所进行的大量数据操 作都是读取操作。所以,大多数虚拟主机提供商和 INTERNET 平台提供商只允许使用 MYISAM 格式。MyISAM 格式的一个重要缺陷就是不能在表损坏后恢复数据。 注意:MyISAM 引擎使用时必须经常使用 OptimizeTable 命令清理空间;必须经常备份 所有实时数据。工具有用来修复数据库文件的 MyISAMCHK 工具和用来恢复浪费空间的 MyISAMPACK 工具。 如果使用该数据库引擎,会生成三个文件: .frm:表结构信息 .MYD:数据文件 .MYI:表的索引信息

3.InnoDB

InnoDB 数据库引擎都是造就MySQL 灵活性的技术的直接产品, 这项技术就是 MYSQL++ API。在使用 MYSQL 的时候,你所面对的每一个挑战几乎都源于 ISAM 和 MyISAM 数据库 引擎不支持事务处理(transactionprocess)也不支持外键。尽管要比 ISAM 和 MyISAM 引擎 慢很多,但是 InnoDB 包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。 如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中 的一个了。

MySQL 官方对 InnoDB 是这样解释的:InnoDB 给 MySQL 提供了具有提交、回滚和崩溃 恢复能力的事务安全(ACID 兼容)存储引擎。InnoDB 锁定在行级并且也在 SELECT 语句 提供一个 Oracle 风格一致的非锁定读,这些特色增加了多用户部署和性能。没有在 InnoDB 中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。 InnoDB也支持FOREIGNKEY 强制。在 SQL 查询中,你可以自由地将 InnoDB 类型的表与其它 MySQL 的表的类型 混合起来,甚至在同一个查询中也可以混合。

InnoDB 是为处理巨大数据量时的最大性能设计,它的 CPU 效率可能是任何其它基于磁盘 的关系数据库引擎所不能匹敌的。InnoDB 存储引擎被完全与 MySQL 服务器整合,InnoDB 存储引擎为在主内存中缓存数据 和索引而维持它自己的缓冲池。InnoDB 存储它的表&索引在一个表空间中,表空间可以包 含数个文件(或原始磁盘分区)。这与 MyISAM 表不同,比如在 MyISAM 表中每个表被存 在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为 2GB 的操作系统 上。

数据库范式的分类

目前关系数据库有六种范式:

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范 式)。

子查询

什么子查询?使用子查询有哪些原则?

子查询是一个 SELECT 语句,它是嵌在另一个 SELECT 语句中的子句。

将课上的代码敲一遍,加深对子查询的理解

正则表达式

简述正则表达式的模式及其含义

• MySQL 中允许使用正则表达式定义字符串的搜索条件,性能要高于 like。

• MySQL 中的正则表达式可以对整数类型或者字符类型检索。

• 使用 REGEXP 关键字表示正则匹配。

• 默认忽略大小写,如果要区分大小写,使用 BINARY关键字

索引

简述索引的作用和类型

作用:提高检索效率

• 普通索引 • 唯一索引 • 主键索引 • 组合索引 • 全文索引

如何创建索引?

为 emp3 表中的 name 创建一个索引,索引名为emp3_name_index

create index emp3_name_index ON emp3(name)

如何修改索引?

修改 emp3 表,为 addrees 列添加索引,索引名为 emp3_address_index

alter table emp3 add index emp3_address_index(address)

如何删除索引?

删除 mep3 表中索引名为 emp3_address_index 的索引

drop index emp3_address_index on emp3

用户管理

如何使用语句创建用户

CREATE USER username IDENTIFIED BY 'password';

如何查看用户?

SELECT USER,NOST FROM USER(该表位于 mysql 库中)

如何分配权限?

新用户创建完后是无法登陆的,需要分配权限。 GRANT 权限 ON 数据库.表 TO 用户名@登录主机 IDENTIFIEDBY"密码"

GRANT ALL PRIVILEGESON*.*TO'username'@'localhost'IDENTIFIEDBY'password'

登陆主机: % 匹配所有主机

localhost localhost 不会被解析成 IP 地址,直接通过 UNIXsocket 连接

127.0.0.1 会通过 TCP/IP 协议连接,并且只能在本机访问;

::1 ::1 就是兼容支持 ipv6 的,表示同 ipv4 的 127.0.0.1

如何删除用户?

DROP USER username @localhost

查询分页

MySQL中使用什么关键字完成查询分页?

limit

MySQL中查询分页语法格式如何?

SELECT 投影列 FROM 表名 WHERE 条件 ORDERBYLIMIT 开始位置,查询数量。

示例

查询雇员表中所有数据按 id 排序,实现分页查询,每次返回两条结果。

select*from employees order by employees_id limit 0,2

MySQL数据库引擎

查看数据库引擎的语句如何编写?

SHOW ENGINES

简述innodb 与 myisam 区别

1.InnoDB 支持事务,MyISAM 不支持,对于 InnoDB 每一条 SQL 语言都默认封装成事 务,自动提交,这样会影响速度,所以最好把多条 SQL 语言放在 begin 和 commit 之间,组 成一个事务;

 2.InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败; 

3.InnoDB 是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引 效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此, 主键不应该过大,因为主键太大,其他索引也都会很大。而 MyISAM 是非聚集索引,数据 文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。 

4. InnoDB 不保存表的具体行数,执行 select count(*) from table 时需要全表扫描。而 MyISAM 用一个变量保存了整个表的行数,执行上述语句时只需要读出该变量即可,速度 很快; 5.Innodb 不支持全文索引,而 MyISAM 支持全文索引,查询效率上 MyISAM 要高; (在 MySQL5.7 版本中已经支持全文索引)

如何选择: 

1. 是否要支持事务,如果要请选择 innodb,如果不需要可以考虑 MyISAM 

2. 如果表中绝大多数都只是读查询,可以考虑 MyISAM,如果既有读写也挺频繁,请 使用 InnoDB。 

3. 系统奔溃后,MyISAM 恢复起来更困难,能否接受; 

4.MySQL5.5 版本开始 Innodb 已经成为 Mysql 的默认引擎(之前是 MyISAM),说明其优 势是有目共睹的,如果你不知道用什么,那就用 InnoDB,至少不会差。

数据库设计范式入门

什么是数据库设计范式? 范式有什么作用?

起到规范数据库的作用,保证数据库设计的合理性

数据库设计范式有哪些?

关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

而通常我们用的最多的就是第一范式(1NF)、第二范式(2NF)、第三范式(3NF),

第一范式

什么是第一范式?

要求数据库表的每一列都是不可分割的原子数据项。

第二范式

什么是第二范式?

在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。

第三范式

什么是第三范式?

在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖),第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 4,727评论 0 30
  • MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在...
    时待吾阅读 1,553评论 0 4
  • 索引 数据库中的查询操作非常普遍,索引就是提升查找速度的一种手段 索引的类型 从数据结构角度分 1.B+索引:传统...
    一凡呀阅读 2,891评论 0 8
  • 一、MySQL优化 MySQL优化从哪些方面入手: (1)存储层(数据) 构建良好的数据结构。可以大大的提升我们S...
    宠辱不惊丶岁月静好阅读 2,425评论 1 8
  • 1.八月十五,一家人喜气聚聚吃饭赏月,谢谢伯母今天做的菜,特别的棒,也特别好吃 谢谢你,我爱你
    萌椒妹阅读 128评论 0 0