数据库面试知识点.实习面试.常见面试题

**

**

Oracle知识点

**

**
1、创建数据库 create database databasename
2、删除数据库 drop database dbname

1、创建表 create table tabname
2、删除表 drop table tabname
3、重命名表 alter table表名rename to新表名
4、增加字段 alter table表名add (字段名,类型);
5、修改字段 alter table表名modify (字段名,类型);
6、重名字段 alter table表名rename column列名to新列名
7、删除字段 alter table表名drop column字段名;
8、添加主键 alter table tabname add primary key(col)
9、删除主键 alter table tabname drop primary key(col)
10、创建索引 create [unique] index idxname on tabnam
11、删除索引 drop index idxname
12、创建视图 create view viewname as select statement
13、删除视图 drop view viewname

1、数据查询 select <列名> from <表名> where<查询条件表达试> order by<排序的列名> [asc或desc]]
2、插入数据 insert into表名values (所有列的值);
3、更新数据. update表set列=新的值 [where条件] 记录
4、删除数据 delete from表名where条件–>
**

sql server知识点

**
1.触发器的作用?
答:触发器是通过事件来触发而被执行的。可以强化约束,来维护数据的完整性和一致性,跟踪数据库内的操作从而不允许未经许可的更新和变化。
2.什么是存储过程?
答:存储过程是预编译的SQL语句,允许模块化设计,创建一次就可以调用多次。3.索引的作用?
答:索引是特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。创建索引允许指定单个或多个列。缺点是减慢数据录入的速度,增加数据库大小。
4.什么是内存泄漏?
答:指堆内存泄漏。堆内存是程序从堆中为其分配,大小任意,使用完释放内存。
5.维护数据库的完整性和一致性?
答:尽可能使用约束,如主键,外键。其次是触发器。最后考虑自写业务逻辑。
6.什么是事务? 锁?
答:事务是被绑定在一起作为一个逻辑工作单元的SQL语句分组, ACID。
锁是实现事务的关键,可以保证事务的完整性和并发性。
7.什么叫视图? 游标?
答:视图是虚拟的表,可以进行增删改查操作,有一个或多个表的行或列的子集。游标:对查询结果集作为一个单元有效处理。
8.SQL Server中使用的一些数据库对象?
表格、 视图、用户定义的函数,存储过程,触发器。
9.NULL是什么意思?
NULL这个值表示UNKNOWN未知,不表示空字符串。
10.什么是索引? SQL Server里有什么类型的索引?
索引是数据结构,用来访问数据库表格或视图的数据。SQL Server里有两种形式:聚集索弓和非聚集索引。聚集索引在索引的叶级保存数据。非聚集索引在索引的叶级有一个行标识符。指向磁盘上数据的指针。
11.什么是主键? 外键?
主键是表格的字段,定义表格的行。外键是建立两个表之间关系约束。
12.什么是触发器?SQL Server有什么不同类型的触发器?
触发器是一种存储过程,被捆绑到表格或视图上。在SQL Serve里有INSTEAD-OF和AFTER两种触发器。
**

Mysql知识点

**
1.存储引擎:MyISAM与InnoDB
MyISAM支持全文索引,不支持事务,不支持外键,支持表级锁,不支持行级锁。
InnoDB支持事务,支持全文索引,支持外键,支持行级锁。
2.三个范式
第一范式:每个列都不可以再拆分。
第二范式:非主键列完全依赖于主键,而不能依赖主键的一部分。
第三范式:非主键列只依赖于主键,不依赖于其他非主键。
3.Mysql索引
使用的数据结构有BTree索引 和 哈希索引 。哈希索引是一种自适应的索引,数据库会根据表的使用情况,自动生成哈希索引,人为无法干预。
BTree索引使用B数中的B+树。B+树索引主要分为聚集索引和辅助索引。
4.ACID规则具体内容如下
原子性: 事务是最小的执行单位,不允许分割。确保动作要么全部完成,要么完全不起作用。
一致性: 执行事务前后,数据保持一致。
隔离性: 并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的。
持久性: 一个事务被提交之后。对数据库中数据的改变是持久的,即使数据库发生故障也不对其有任何影响。
5.关于锁
表级锁: Mysql中锁定粒度最大的一种锁,对当前操作的整张表加锁,实现简单,不会出现死锁。其锁定粒度最大。
行级锁: Mysql中锁定粒度最小的一种锁,针对当前操作的行加锁。 行级锁能大大减少数据库操作的冲突。其加锁粒度最小,会出现死锁。
6.说一说drop、delete与truncate的区别?
drop直接删掉表的一切(数据/结构/约束…),不会记录日志。
truncate 删除表中所有数据。保留表结构。
DELETE每次从表中删除一行,需要记录日志,可以加where 语句。
速度上drop > truncate > delete
7.主键、外键和唯一索引的区别
主键:唯一标识一条记录,不能有重复,不允许为空。一个表只能有一个主键
外键:表的外键是另一个表的主键,外键可以有重复的,可以为空值(但是无意义,不推荐使用)。一个表可以有多个外键
唯一索引:用来提高查询排序的速度,没有重复值,但允许有一个空值。一个表可以有多个唯一索引。
8.MySQL外连接、内连接的区别
内联接:仅显示两个联接表中的匹配行的联接。
左外联接:包括左表中所有行。
右外联接:包括右表中的所有行。
9.六种关联查询
交叉连接(CROSS JOIN)内连接(INNER JOIN)外连接(LEFT JOIN/RIGHT JOIN)
联合查询(UNION与UNION ALL)全连接(FULL JOIN)交叉连接(CROSS JOIN)
10.MySQL的复制原理以及流程
11.主从复制:将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做);从而使得从数据库的数据与主数据库保持一致。
12.工作原理
在主库上把数据更高记录到二进制日志
从库将主库的日志复制到自己的中继日志
从库读取中继日志的事件,将其重放到从库数据中
13.Mysql中有哪几种锁?
1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
**

Oracle与SQL Server的区别

**
1、操作的平台不同
Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,客户可以选择一种适合的解决方案。SQL Server只能在Windows上运行。
2、安全性不同
Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。
3、性能不同
SQL Server多用户性能不佳,Oracle 性能最高。
**

Oracle与MySQL的区别

**
(1)对事务的提交
MySQL默认是自动提交。
Oracle需要用户手动提交,需要写commit。
(2)分页查询
MySQL直接在SQL语句中写"select…from…where…limit x, y"。
Oracle需要用到伪列ROWNUM和嵌套查询。
(3)事务隔离级别
MySQL是read commited的隔离级别。
Oracle是repeatable read的隔离级别。二者都支串行化事务隔离级别,可以实现最高级别的读一致性。
(4)对事务的支持
MySQL在innodb存储引擎的行级锁的情况下支持事务。
Oracle完全支持事务。
(5)保存数据的持久性
MySQL是在数据库更新或者重启,会丢失数据。
Oracle把提交的sql操作线写入在线联机日志文件中。
(6)并发性
MySQL以表级锁为主,对资源锁定的粒度很大据。
Oracle使用行级锁,对资源锁定的粒度要小,对并发性的支持要好很多。
(7)逻辑备份
MySQL逻辑备份时要锁定数据。
Oracle逻辑备份不锁定数据。
(8)复制
MySQL复制服务器配置简单,可能丢失一定数据。需要切换丛库到主库。
Oracle推或拉式的传统数据复制,双机或多机容灾机制,自动切换备库到主库。
(9)性能诊断
MySQL的诊断调优方法较少,要有慢查询日志。
Oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。
(10)权限与安全
MySQL的用户与主机有关。
Oracle的权限与安全概念比较传统,中规中矩。
(11)分区表和分区索引
MySQL的分区表还不太成熟稳定。
Oracle的分区表和分区索引功能成熟,可以提高用户访问db。
(12)管理工具
MySQL管理工具较少,在linux下安装要额外的包。
Oracle有多种成熟的命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。
(13)最要的区别
MySQL是轻量型数据库,免费,没有服务恢复数据。
Oracle是重量型数据库,收费,有服务。
**

sql server和mysql的区别

**
一、 本质区别是它们所遵循的基本原则
SQL服务器的狭隘的、保守的存储引擎。MySQL服务器的开放的、可扩展。
二、发行费用上
MySQL不全是免费,但很便宜。对于SQL服务器,获取-个免费的开发费用,最常的方式是购买微软的Office或者Visual Studio的费用。
三、性能方面
MySQL包含一个缺省桌面格式MyISAM。MySQL可以运行于Windows系统而不会发生冲突。
四、安全功能
MySQL有一个用于改变数据的二进制日志。
五、恢复性
恢复性也是MySQL的一个特点,表现在MyISAM配置中。

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值