1.用自己的话简单谈谈为什么要使用关系型数据库?
优点:
容易理解:二维表结构是非常贴近逻辑世界的一个概念
使用方便:通用的SQL语言使得操作关系型数据库非常方便
易于维护:丰富的完整性大大减低了数据冗余和数据不一致的概率
缺点:
高并发读写需求 网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统 关系型数据库来说,硬盘I/O是一个很大的瓶颈 海量数据的高效率读写 网站每天产生 的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是 非常低的 高扩展性和可用性 在基于web的结构当中,数据库是最难进行横向扩展的, 当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像web server 和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。
2.通常系统用于检测MySQL是通过什么端口对于什么对象进行操作?请简单描述。
通过3306端口连接到连接器对数据库的四个对象进行操作,分别是数据库管理系统对 象,数据库对象,表对象,字段对象。
客户端通过3306端口连接到连接器,然后先对此次操作进入缓存查询,如果此次操作 在缓存中有择直接显示缓存中的执行结果,如果没有则通过分析器分析语句,优化器再 对语句进行优化,最后执行器操作数据库对象选择规定的存储引擎执行操作。
3、数据库school中现在有一张表student(sno,name):
3.1、根据所学知识创建数据库school及表student,sno为int型,name为varchar(15),sno为主键自增长,其余自由发挥,请写出建表语句:
建库语句:Create Database 库名;
建表语句: Create Table 表名(
字段1 数据类型 |是否为空| |默认值| |约束条件| |设置键|,
字段2 数据类型 ... ,
.....); |engine= 设置存储引擎 Default Charset= 设置默认字符集 |
Create Database school;
Use school;
sex char(1)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据如下(null,"填自己的名字"),(3,"张三"),(null,"李四"),写出插入语句:
插入语句: insert into 表明(字段1,字段2,... ) Values (数据1, 数据2,...),(数据1, 数据2,...),...;
Insert into values(null,’魏睿’,’男’),(3,’张三’,’男’),(null,’李四’,’女’);
3.3、检索出sno小于4的name字段的全部记录,写出检索语句:
检索语句: select 字段1,字段2,... from 表名 where 条件语句;
Select * from student where sno<4;
3.4、思考,现在编写一条语句“select * from student id < 5;”,会出错,请自主实践,根据先前学习的MySQL体系结构尝试分析为什么出现问题。
首先在student表中没有字段为id的,查询id<5的肯定会报错因为没有这个字段;其 次若有这个字段,查询语句应为”select * from student where id<5”,上述句子中缺少关 键字where语句不完整,故提示错误。