数据库问题:1、关系型数据库和非关系型数据库区别?
数据的存储方法不同。 关系数据库和非关系数据库的主要区别是如何存储数据。
关系数据存储是表格式的。 因此,它存储在数据表的行和列中。 数据表可以相互关联并协同保存,数据提取也很容易。
非关系数据不适合存储在数据表中的行或列,而是合并了大块。
非关系数据通常存储在数据集中,如文档、键值对或映射结构。 你的数据及其特性是选择数据访问和提取方法最重要的影响因素。
扩展方式不同。
事务性支持不同
对于需要高数据操作的事务和复杂的数据查询控制执行计划,传统的SQL数据库在性能和稳定性方面非常适合。 SQL数据库支持事件的原子细粒度控制,便于回滚事务。
NoSQL数据库也可以使用事务操作,但在稳定性方面无法与关系数据库相比,因此他们真正善良的价值在于操作的可扩展性和大数据量的处理。2、关系型数据库和非关系型数据库都有哪些?
关系数据库: Oracle、SQL Server、Mysql、Access
非关系数据库: NoSql,redis,Hbase 3、数据库引擎:
数据库存储引擎是数据库管理系统(DBMS )用于创建、查询、更新和删除数据的基于数据的软件组织。
不同的存储引擎提供不同的存储机制、索引技术、锁定级别等功能,并且可以使用不同的存储引擎来获得特定的功能。
目前,许多不同的数据管理系统支持不同的数据引擎。
四种常见的数据库引擎: MyIsam、Memory、InnoDB、Archive;
4、触发器的作用?
触发器是一个特殊的存储过程,主要由事件触发和执行。 他可以加强约束,维护数据的完整性和一致性,跟踪数据库中的操作,不允许未经许可的更新和更改。 可以进行级联运算。 例如,一个表的触发器包含对另一个表的数据操作,该操作将触发该表的触发器。5、什么是存储过程?用什么来调用?
在存储过程期间预编译的SQL语句设计为可模块化。 也就是说,只要创建一次值,以后就可以在程序中多次调用它。 如果一个操作需要多次SQL,则存储过程可以比简单的SQL语句执行得更快。
调用:
可以从命令对象调用存储过程。
外部程序(如Java程序)可以调用。6、视图
定义:具有与物理表相同功能的虚拟表。 可以添加、修改、搜索和操作视图。 视图通常是具有一个表或多个表的行或列的子集。 更改视图会影响基本表。 这比多个表查询更容易获取数据。
视图的优缺点:
好处:
访问数据库。 因为视图可以选择性地选择数据库的一部分。
用户可以通过简单的查询从复杂的查询中得到结果。
保持数据独立性,视图可以从多个表中检索数据。
可以对同一数据生成不同的视图。
缺点:
性能)查询视图时,必须将视图查询转换为基表查询。 如果此视图是在复杂的多表查询中定义的,则无法更改数据。7、drop,truncate、delete区别:
最基本的:
drop表直接删除表。
truncate:删除表中的数据,插入从增长ID开始,再从1开始。
delete :删除表中的数据。8、什么是临时表?临时表什么时候删除?
临时表可以手动删除:
doptemporarytableifexiststemp _ TB;
临时表仅在当前连接中显示。 关闭连接后,MySQL会自动删除表以释放所有空间。 因此,可以在不同的连接上创建具有相同名称的临时表,并且操作属于此连接的临时表。9、SQL语言分类:
主要分为四大类:
数据查询语言: DQL
基本结构:由select子句、from子句和where子句组成的查询块。
数据操作语言DML
主要有插入、更新和删除三种形式。
数据定义语言: DDL
通常用于创建数据库中的各种对象,如表、视图、索引、同义词和群集。
创建表/视图/索引/syn /群集
数据控制语言: DCL
通常用于授予或回收对数据库的访问权限,控制数据库发生事务的时间和效果,以及监视数据库。
授权:授权
返回到回滚[ work ] to [ save point ] :所在的点。 回滚:工具后退;
提交commit:10、count(*)、count(1)、count(column)的区别:
计数) ) :行数的计算包含null
count(column ) :计算特定列的值具有行数,不包含空值。
count (),还有一种使用方法。 count ) )的用法与count ) )的结果相同。11、事务:
定义:事务是一种统一回退或提交数据库中一系列操作的操作,主要用于确保数据的完整性和一致性。
事务的四个特性: ACID
原子性、一致性、隔离性、持续性
事务并发问题:
肮脏的读法,不可重复的读法,幻读
注意:重复读法和幻读法不能混淆。 重复阅读侧重于修改,幻像阅读不应侧重于添加或删除。
要解决不可重复的问题,只需锁定满足条件的行,必须锁定表才能解决幻像读取。
事务隔离级别:
未提交的读取、不可重复、可重复、序列化