面
试
题
(数据库与监控_安全篇)
选择(每题1分)
1.SQL server数据库超级管理员为( )
A:Admin B:Sa
C:sys D:root
2.在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,
且( )
a)包括20岁和30岁 b)不包括20岁和30岁
c)包括20岁不包括30岁 d)不包括20岁包括30岁
3.为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字( )
a) UNIQUE b) COUNT
c) DISDINCT d) UNION
4.SQL语句中修改表结构的命令是()
A、 MODIFY TABLE
B、 MODIFY STRUCTURE
C、 ALTER TABLE STRUCTURE
5.以下哪个不是数据库的物理组件 ()
A)表空间 B)数据文件
C)日志文件 D)控制文
6.请从订单表中取得数据,其中包括三个列客户名、订单时间与订单费用。可 以用下列哪个where子句査询ORDERS表,取得客户A超过2700的订单?()
A) where客户名=
C) where客户名= ‘A, or订单费用> 2700;
D) where客户名= ‘A’ and订单费用 >2700;
7.下面哪一个SQL语句将USER表的名称更改为USERINFO? ()
A) ALTER TABLE USER RENAME AS USERINFO;
B) RENAME TO USERINFO FROM USER;
C) RENAME USER TO USERINFO;
D) RENAME USER AS USERINFO;
8.假定USER表的PRIMARY KEY约束名为USERJD_PK,下面哪个语句将删除
这个约束?()
A) DROP CONSTRAINT USER」D_PK;
B) ALTER TABLE USER DROP USERJD_PK;
C) ALTER TABLE USER DROP CONSTRAINT USERJD_PK;
D) ALTER TABLE USER DROP PRIMARY KEY;
9.要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与 ORDER_AMT»可以用下列哪个where子句査询ORDERS表,取得客户LESLIE超 过2700的订单?()
A) where customer = ‘LESLIE’ ;
B) where customer = ‘LESLIE’ and order_amt < 2700;
C) where customer = ‘LESLIE’ or order_amt > 2700;
D) where customer = ‘LESLIE’ and order__amt > 2700;
10.SQL语言不包括()
A) 数据定义语言 B) 数据操作语言
C) 数据翻译语言 D) 数据控制语言
11.SQL语句中删除表的命令是()
A) delete table B) erase table
C) delete dbf D) drop table
12.SQL语句中不是查询计算函数的是()
A) abs B) sum
C) max D) avg
13.数据库系统与文件系统的主要区别是()
A) 数据库系统复杂,而文件系统简单
B) 文件系统不能解决数据冗余和数据独立性的问题,而数据库系统可以解决
C) 文件系统只能管理程序文件,而数据库系统能够管理各类类型的文件
D) 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
14.对数据表进行筛选的操作,结果是()
A) 只显示满足条件的记录,将不满足的记录从表中删除
B) 显示满足条件的记录,并将这些记录保存到一个新表中
C) 只显示满足条件的记录,不满足条件的记录被隐藏
D) 将满足条件的记录和不满足条件的记录分为两个表进行显示
15.查询命令如下:select 学号,成绩*0.8 as 期末成绩 from 成绩 order by 成绩 DESC,学号;正确的说法是()
A) 查看学生成绩,并将成绩乘以系数0.8,结果按成绩升序、学号降序排列
B) 查看学生成绩,并将成绩乘以系数0.8,结果按成绩降序、学号升序排列
C) 查看学生成绩,并将成绩乘以系数0.8,结果按成绩升序、学号升序排列
D) 查看学生成绩,并将成绩乘以系数0.8,结果按成绩降序、学号降序排列
16.以下哪一项不是用来查询、添加、修改和删除数据库中的数据语句()
A) select B) insert
C) update D) drop
17.使用SQL命令将教师表teacher中的工资salary字段的值增加500,应该使用的命令为()
A) replace salary with salary+500
B) update teacher salary with salary+500
C) update set salary with salary+500
D) update teacher set salary=salary+500
18.表的两种相关约束是()
A) 主键和索引 B) 外键和索引
C) 主键和外键 D) 内键和外键
19.
填空题(每题1分)
列举四种你所知晓的数据:
。
SQL语言中,删除一个表的命令是
用命令创建一个数据库名为skylar
简答(每题5分):
表结构如下的,写出建表语句
表名: RA_PERSON_INFO
字段: RA_SN 数值型 (序列号)
COMMONNAME 字符型 长度256(姓名)
UPORGNAME 字符型 长度256(主管单位)
Create table RA_PERSON_INFO(
RA_SN int(2),
COMMONNAME varchar(256),
UPORGNAME varchar(256)
);
用SQL将如下信息插入到上题建立的表中
序列号:2
姓名:张三
单位:BJCA
Insert into RA_PERSON_INFO values(2,”张三”,”BJCA”);
请列举出10个以上的你所知晓的SQL语句?
Insert select delete update
Create show drop grant revoke load data create view
创建一个 leak_download_url 表有 id,url,md5,flag 等字段,将 id 设置为 主键?
Create table leak_download_url (
Id int(2) primary key auto_increment,
Url varchar(255),
md5 char(255),
Flag enum(“0”,”1”)
);
需要统计file数据表中level为70的数值,应如何编写sql语句?
需要更新leak_download_url表中flag字段为0的数据改为flag为1?
触发器的作用?
触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。主要作用如下:
1.安全性。能够基于数据库的值使用户具有操作数据库的某种权利。
# 能够基于时间限制用户的操作,比如不同意下班后和节假日改动数据库数据。
# 能够基于数据库中的数据限制用户的操作,比如不同意股票的价格的升幅一次超过10%。
2.审计。能够跟踪用户对数据库的操作。
# 审计用户操作数据库的语句。
# 把用户对数据库的更新写入审计表。
3.实现复杂的数据完整性规则
# 实现非标准的数据完整性检查和约束。触发器可产生比规则更为复杂的限制。与规则不同,触发器能够引用列或数据库对象。比如,触发器可回退不论什么企图吃进超过自己保证金的期货。
什么是存储过程?用什么来调用?
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集。
调用存储过程 call 存储过程名称;
索引的作用?和它的优点缺点是什么?
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
优点:加快查询记录的速度
缺点:占用物理存储空间,减慢写记录的速度。
什么是事务?
事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。一个事务中的一系列的操作要么全部成功,要么一个都不做。
事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。
什么是锁?
简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制。为了保证数据的一致完整性,任何一个数据库都存在锁定机制。锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能。
mysql中varchar和char的区别以及varchar(50)中的50代表的含义?
Char 定长字符类型最大存储只255字节
Varchar 变长字符类型最大存储只65532字节
varchar(50)50表示 最多能存储50个字节的数据
mysql数据库cpu飙升到500%的话怎么处理?
查内存
查看进程
Show processlist
如何通过shell登录mysql?
#Mysql -hIP地址 -u用户名 -p密码
列出所有数据库? show databases;
如何切换到某个数据库,并在上面工作? use 库名;
列出数据库内的所有表? show tables;
如何获取表内所有Field对象的名称和类型? desc 表名;
如何删除表? drop table 表名;
如何删除数据库? drop database 库名;
如何列出表’xrt’内name域值为’tecmint’,web_address域值为’tecmint.com’的所有数据?
如何列出表’xrt’内name域值不为’tecmint’,web_address域值为’tecmint.com’的所有数据?
假设你有一个名为xyz的表,它有多个字段,如createtime和engine。名为engine的字段由Memoty和MyIsam两种数值组成,如何只列出createtime和engine这两列并且engine的值为MyIsam?
简述数据库中drop、delete、truncate的区别?
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
(2)表和索引所占空间。
当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,
DELETE操作不会减少表或索引所占用的空间。
drop语句将表所占用的空间全释放掉。
使用nmap命令扫描仪一台机器192.168.0.1,看它打开了多少个端口?
Nmap 192.168.0.1
启动和停止mysql服务的脚本是什么? mysqld_safe
说出一种linux下实现高可用的方案名称? keepalived
使用tcpdump监听主机IP为192.168.1.1,tcp端口为80的数据,同时将结果保存输出到tcpdump.log?
tcpdump -A -w tcpdump.log 192.168.1.1 -p tcp port 80
简述下负载均衡与高可用的概念?
LB : 多台数据平均响应客户端的多次连接请求
HA : 主备模式,主服务器宕机后 备用服务器才接替工作。