数据库基础知识
贪婪的猴子
只盼归来是伊人
展开
-
mysql数据库索引的优缺点以及创建方法
为什么创建索引?这是因为创建索引可以大大提高系统的性能。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。创建索引的缺点为什么不单一的对每个表的每一列创建索...转载 2018-09-16 11:17:11 · 156 阅读 · 0 评论 -
SQL多表连接查询
本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图例如以下:表2:course 截图例如以下: (这样建表仅仅是为了演示SQL语句)一.外连接外链接可分为:左连接,右连接,全然外连接。左连接 left join或left outer joinSQL语句:select * from student left j...转载 2018-09-17 12:07:31 · 247 阅读 · 0 评论 -
MySQL数据库基础知识二(表的查询)
Select 语句基本语法SELECT select_list #所选择的列 FROM table_list #所选择的表名 WHERE row_constraint #行必须满...原创 2018-09-23 22:22:11 · 256 阅读 · 0 评论 -
MySQL数据库基础知识三(事务处理)
事务指的是一组SQL语句,它们是一个执行单位,且在必要时还可以取消。事务处理是通过使用提交和回滚功能来实现的。另一个用途确保某个操作所涉及的行不会在你正在使用它们时被其他客户端修改。事务把多条语句定义为一个执行单位,防止在多客户端环境里可能会发生的并发问题。事务系统通常具有“ACID”的四种特性:原子性:构成事务的所有语句应该是一个独立的逻辑单元,不能只执行其中的一部分。一致性:数...原创 2018-09-24 09:51:20 · 196 阅读 · 0 评论 -
MySQL数据库基础知识四(外键和引用)
级联删除,级联更新外键维护数据的一致性。下面是几条术语:父表:包含原始键值的表。子表:引用了父表中键值的相关表。创建父表和子表关联案例父表:create table parent{par_id INT NOT NULL,PRIMART KEY (par_id);}ENGINE = INNODB;子表create table child{...原创 2018-09-24 11:13:00 · 3454 阅读 · 0 评论 -
MySQL数据库基础知识五(视图和存储程序)
使用视图视图是一个虚表,它是在表或其他视图的基础上,使用SELECT语句来定义的。创建视图:create view view_name as select last_name,first_name from president;//创建虚表view_name,表为2列,表中数据来自于presidentselect * from view_name;select last_nam...原创 2018-09-24 18:16:31 · 237 阅读 · 0 评论 -
MySQL数据库基础知识六(查询优化:索引)
MySQL使用索引的方式有以下几种:索引可以用于加快对WHERE子句匹配的行进行搜索速度,或者用于加快对与另一个连接表里的行匹配的行,进行搜索的速度。 对于使用MIN()或MAX()函数的查询,MySQL可以在不用逐行检查的情况下,快速找到索引列里的最小值或最大值。 对于 order by 和 group by 子句,MySQL经常使用索引来高效地完成分类和分组操作。 有时,MySQL...原创 2018-09-24 23:36:45 · 141 阅读 · 0 评论 -
索引失效原因总结
如果是同样的sql如果在之前能够使用到索引,纳闷现在使用不到索引,以下几种主要情况:随着表的增长,where条件出来的数据太多,大于15%,使得索引(会导致CBO计算走索引花费大于走全表) 统计信息失效 需要重新搜索统计信息。 索引本身失效 需要重建索引下面是一些不会使用到索引的原因。索引失效 正确的例子:select * from test ...转载 2018-09-26 22:21:08 · 200 阅读 · 0 评论 -
MySQL数据库基本常识一
创建数据库CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf0 COLLATE utf8_icelandic_ci;查看数据库定义(数据库目录)SHOW CREATE DATABASE db_name\G;删除数据库DROP DATABASE db_name;一个数据库就是MySQL数据目录里的一个目录,这个目录主...原创 2018-09-23 10:40:53 · 158 阅读 · 0 评论