问:数据库管理系统的功能有哪些?
1)数据定义(DDL),DDL主要用于建立、修改数据库的数据对象的组成与结构
2)数据操纵(DML),DML实现对数据库的基本存取操作:查询、插入、修改和删除等
3)数据库运行管理
4)数据库的建立和维护功能
5)数据的传输
6)数据库的保护
问:数据库系统的特点有哪些?
1)数据结构化、数据的共享性好、数据的独立性高、数据的冗余度小、数据库管理系统为用户提供了友好的接口。
2)数据库系统的基础是数据模型。
3)数据库系统的核心是数据管理系统(DBMS)。数据由DBMS统一管理和控制。
扩展:数据库系统(DBS)包含了数据管理系统(DBMS)和数据库(DB)。
问:简述MySQL数据库的体系结构
MySQL采用的是客户机/服务器体系结构。数据库服务器,一个位于存放数据的主机上的程序。客户机,连接到数据库服务器的程序。
问:数据库的访问技术有哪些?(了解)
ODBC(开放数据库互连)是一种用来在数据库管理系统中存取数据的标准应用程序接口。
OLE DB(对象链接和嵌入)是微软的通向不同数据源的低级应用程序接口。
ADO是一个用于存取数据源的COM组件。
DAO(数据访问对象集)是Microsoft提供的基于一个数据库对象集合的访问技术。
JDBC(java数据库连接)
问:关系数据库的优缺点
优点:1)容易理解 2)使用方便 3)易于维护
缺点:1)读写性能较差,尤其是海量数据的高效率读写
2)固定的表结构,灵活度欠缺
3)扩展性和可用性差。
问:简述MySQL服务器启动的几种方式
1)鼠标右击“计算机”——“管理”——“服务和应用程序”——“服务”,找到MySQL服务,即可启动MySQL
2)鼠标点击“开始”菜单——“运行”——“输入cmd”命令,进入命令提示符窗口,输入
net start mysql ,按下Enter键,启动MySQL服务。
net stop mysql, 按下Enter键,停止MySQL服务。
3)快捷键Ctrl+Shift+Esc键即可启动任务管理器——点击“服务”选项卡,设置启动和停止MySQL服务。
问:MySQL服务器有哪些存储引擎?(了解)
innoDB存储引擎、MyISAM存储引擎、MEMORY存储引擎
问:简述InnoDB存储引擎和MyISAM存储引擎的优缺点?
innodb存储引擎的优势在于提供了良好的事务管理、崩溃修复能力和并发控制;缺点是读写效率稍差,占用的数据空间相对比较大。
myisam存储引擎的优势在于占用空间小,处理速度快;缺点是不支持事务的完整性和并发性
问:怎么样查看数据引擎?
show engines;
问:创建数据库的SQL语句是什么?
create database 数据库名称;
问:简述查看数据库文件的路径。
1)可以用查询系统命令来查看数据文件的路径
show global variables like '%datadir%';
2)用鼠标点击MySQL在桌面上的图标,在弹出的快捷菜单中选中“打开文件所在位置”即可找到数据库文件所在的路径。
问:如何把原来的数据表重命名?
rename table 原数据表名 to 新数据表名;
问:TRUNCATE和DELETE有什么区别?
truncate table 是完全清空一个表;delete table 是删除记录,如果没有指定where子句,那么该表的所有记录都将被删除,但是表结构依旧存在。
truncate table语句不支持事务的回滚,并且不会触发触发器程序的运行。而delete语句删除的数据是可以恢复的。
问:什么是外键约束?简述外键约束的作用?
一张表中的字段恰好引用了另外一张表的主键值,那么该字段就是本表的外键。
外键的作用:1)禁止在从表中插入主表中不存在的数据。
2)禁止由于修改主表中的主键的值,导致从表中相应的外键值孤立。
3)禁止删除在从表中有对应记录的主表记录。
问:什么是内连接、外连接?
如果按照某种条件筛选连接表时,结果集中都是满足要求的记录,这种表的连接的方式是内连接。
外连接(左、右连接)的连接条件只筛选一张表的数据,对另一张表不进行筛选(该表的所有记录都出现在结果集中)
问:怎样理解Having子句与WHERE子句之间的区别
1)where 不能放在group by后面,而Having是跟group by连在一起用的,放在group by后面的后面,作用相当于where。
2)where后面的条件中不能有聚合函数,比如sum(),avg()等,而having可以。
问:MySQL如何使用like关键字实现模糊查询?
MySQL 中常用的通配符有两种“%”和“_”。
“%”可以匹配一个或多个字符,可以代表任意长度的字符串,长度可以为0。
“_”只匹配一个字符。
语法格式:select 字段列表 from 表名 字段名 like 模式;
问:什么是子查询?什么是主查询?
将一个查询语句嵌套在另一个查询语句块的条件子句中的查询称为嵌套查询,又称为子查询。
包含有子查询的select语句称为主查询。
问:什么是索引?使用索引有什么意义?
索引是一种特殊的文件,它们包含着对数据表里所有记录的引用指针。为数据表创建索引的目的是提高查询的检索性能。
问:创建索引时要考虑哪些事项?
1)只有表或试图的所有者才能创建索引,并且可以随时创建。
2)对表中已依次排序的字段集合只能定义一个索引。
3)在创建聚集索引时,将会对表进行复制,对表中的数据进行排序,然后删除原始的表。因此,数据库上必须拥有足够的空闲空间,以容纳数据副本。
4)在使用create index 语句创建索引时,必须指定索引、表以及索引所应用的字段的名称。
问:视图的作用是什么?
1)视图能简化用户操作
2)增强数据安全性
3)避免数据冗余
4)提高数据的逻辑独立性