合集-MySql知识点
摘要:如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递
阅读全文
摘要:触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
阅读全文
摘要:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。 调用: 1)可以用一个命令对象来调用存储过程。 2)可以供外部程序调用,比如:java程序。
阅读全文
摘要:优点: 1)存储过程是预编译过的,执行效率高。 2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。 3)安全性高,执行存储过程需要有一定权限的用户。 4)存储过程可以重复使用,可减少数据库开发人员的工作量。 缺点: 移植性差
阅读全文
摘要:(1)存储过程用户在数据库中完成特定操作或者任务(如插入,删除等),函数用于返回特定的数 据。 (2)存储过程声明用procedure,函数用function。 (3)存储过程不需要返回类型,函数必须要返回类型。 (4)存储过程可作为独立的pl-sql执行,函数不能作为独立的plsql执行,必须作为
阅读全文
摘要:视图: 是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询。 游标: 是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行
阅读全文
摘要:优点: 1对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2)用户通过简单的查询可以从复杂查询中得到结果。 3)维护数据的独立性,试图可从多个表检索数据。 4)对于相同的数据可产生不同的视图。 缺点: 公众号:DotNet开发跳槽 性能:查询视图时,必须把视图的查询转化成对基本表的查询
阅读全文
摘要:最基本: drop直接删掉表。 truncate删除表中数据,再插入时自增长id又从1开始。 delete删除表中数据,可以加where字句。 (1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABL
阅读全文
摘要:临时表可以手动删除: DROP TEMPORARY TABLE IF EXISTS temp_tb; 临时表只在当前连接可见,当关闭连接时,MySQL会自动删除表并释放所有空间。因此在不同的连接中可以创建同名的临时表,并且操作属于本连接的临时表。 创建临时表的语法与创建表语法类似,不同之处是增加关键
阅读全文
摘要:非关系型数据库的优势: 性能:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。 可扩展性:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。 关系型数据库的优势: 复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常
阅读全文
摘要:第一范式:(确保每列保持原子性)所有字段值都是不可分解的原子值。 第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满 足了第一范式。 第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性, 本来直接将“地址”属性设计成一个
阅读全文
摘要:内连接: 只连接匹配的行 左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行 右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行 例如1: SELECT a.,b. FROM luntan LEFT JOIN
阅读全文
摘要:1.char的长度是不可变的,而varchar的长度是可变的。 定义一个char[10]和varchar[10]。 如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去
阅读全文
摘要:SQL语言共分为四大类: 一、数据查询语言DQL 二、数据操纵语言DML 三、数据定义语言DDL 四、数据控制语言DCL。 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT FROM WHERE 数据操纵语言DML 数据操纵
阅读全文
摘要:通配符的分类 %百分号通配符:表示任何字符出现任意次数(可以是0次).下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符. like操作符: LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配进行比较. 注意: 如果在使用like操作符时,后面的没有使用通用匹配符
阅读全文
摘要:count()对行的数目进行计算,包含NULL count(column)对特定的列的值具有的行数进行计算,不包含NULL值。 count()还有一种使用方式,count(1)这个用法和count()的结果是一样的。 性能问题: 1.任何情况下SELECT COUNT() FROM tablenam
阅读全文
摘要:多列索引: ALTER TABLE people ADD INDEX lname_fname_age (lame,fname,age); 为了提高搜索效率,我们需要考虑运用多列索引,由于索引文件以B-Tree格式保存,所以我们不用扫描任何记录,即可得到最终结果。 注:在mysql中执行查询时,只能使
阅读全文
摘要:何为索引: 数据库索引,是数据库管理系统中一个排序的数据结构,索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
阅读全文
摘要:索引作用: 协助快速查询、更新数据库表中数据。 为表设置索引要付出代价的: 一是增加了数据库的存储空间 二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
阅读全文
摘要:创建索引可以大大提高系统的性能(优点): (1)通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 (2)可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 (3)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 (4)在使用分组和排序子句进行数据检索时,同样可
阅读全文