• mysql面试题1


    1、mysql中唯一索引的关键字是( C  )
    A. fulltext index  B.only  index   C.unique index D.index
    2、下面关于索引描述中错误的一项是( C   )
    A.索引可以提高数据查询的速度 B.索引可以降低数据的插入速度
    C.innodb存储引擎支持全文索引 D.删除索引的命令是drop index
    3、支持主外键,索引及事务的存储引擎为是( B )
    A.MYISAM B.INNODB C.MEMORY D.CHARACTER
    4、对事务的描述中不正确的是( C )
    A.事务具有原子性 B.事务具有隔离性   
    C.事务回滚使用commit命令      D.事务具有可靠性
    5、 mysql中,备份数据库的命令是( A )
    A.mysqldump B.mysql C.backup D.copy
    6、 实现批量数据导入的命令是( A )
     A.mysqldump B.mysql C.backup D.return
    7、 创建用户的命令是( D )
    A. join user B.create user C.create root    D.mysql   user
    8、 修改自己的mysql服务器密码的命令是( C )
    A.mysql B.grant C.set password D.change  password
    9、 找回mysql服务器root密码的很重要的一步是跳过权限表的检查启动mysql,该命令是 ( D )
    A. mysql  -u root –proot  B. mysqladmin   -uroot   -proot 
    C. net  start  mysql      D. mysqld-nt   --skip-grant-tables 
    10、联合查询使用的关键字是(  B )
    A.UNION B.JOIN C.ALL D.FULL
    11、有订单表orders,包含用户信息userid, 产品信息 productid, 以下( D   )语句能够返回至少被订购过两回的productid? 
    A. select productid from orders where count(productid)>1
    B. select productid from orders where max(productid)>1
    C. select productid from orders where having count(productid)>1 group by productid
    D. select productid from orders group by productid having count(productid)>1
    12、子查询中可以使用运算符ANY, 它表示的意思是( B )
    A. 满足所有的条件 B. 满足至少一个条件
    C. 一个都不用满足 D. 满足至少5个条件
    13、事务中能实现回滚的命令是( C )
    A.TRANSACTION B.COMMIT C.ROLLBACK D.SAVEPOINT
    14、mysql中,还原数据库的命令是( B )
    A.mysqldump B.mysql C.backup D.return
    15、mysql中存储用户全局权限的表是( D )
    A. table_priv B.procs_priv C.columns_priv D.user
    16、删除用户的命令是( A )
    A. drop  user     B.delete  user C.drop  root D.truncate  user
    17、给名字是zhangsan的用户分配对数据库studb中的stuinfo表的查询和插入数据权限的语句是( B )
    A.grant select,insert on studb.stuinfo for‘zhangsan’@’localhost’
    B.grant select,insert on studb.stuinfo   to‘zhangsan’@’localhost’
    C.grant‘zhangsan’@’localhost’ to  select,insert  for studb.stuinfo 
    D.grant ‘zhangsan’@’localhost’ to  studb.stuinfo  on select,insert 
    18、下列选项( A   )是mysql复制技术不支持的复制类型
      A.基于sql语句的复制方式           B.基于行的复制方式
      C.基于数据文件的复制方式          D.sql语句和行相结合的方式
    19、下列的函数中不可以处理日期和时间的函数是(  B )
    A round       B WeekDay      C Curdate     D DayofMonth    
    20、mysql中的约束不包括( A )
    A.检查约束 B.默认约束 C.非空约束 D.唯一约束
    第二部分、简答题(共18分)
    1、在mysql中常用存储引擎有哪几种(最少三种),每个引擎特点区别?(6分)
    1.InnoDB :InnoDB给mysql的表提供了事务、回滚、奔溃修复的能力和多版本病夫控制事务安全。
    2.MyISAM :占用空间小,处理速度快。不支持事务的完整性和并发性。
    3.MEMORY :MEMORY使用存储在内存中的内容来创建表,而且所有数据也放在内存中。
    2、忘记MySQL管理员root的密码如何解决?写出步骤和指令(6分)
    1.跳过权限 mysql --skip-grant-tables
    2.修改数据库名为mysql里user表 update mysql.user set Password=PASSWORD(root) where User=’root’ AND host=’localhost’
    3.刷新 加载权限表 FULSH PRIIVILEGES
    3、简述mysql主从复制的原理和主、从服务器上的my.cnf文件的修改内容及注意事项(6分)
    两台服务器实现在主服务器上的数据库实现数据的插入,在从服务器的数据库实现数据的读取,这样可以应对高并发,大流量,减轻数据库压力,提高用户体验。实现原理是基于强大的mysql配置,就可以实现。注意的是,配置的时候俩
    第三部分、编程题(共42分)
    有一个关于公司员工信息的数据库empinfo。部门表和员工基本信息表是其中的两个表,表中信息如下:
    部门表depts ( dept_id、dept_name、description)
    说明:dept_id  部门编号  dept_name 部门名称 description 部门描述
    员工表employees(id、name、gender、dept_id、join_time、salary、address、age、des)
    说明:id员工号 name员工姓名gender性别 dept_id所在部门join_time加入时间salary工资 address地址  age年龄des描述
    1)分析各个表之间的关系(主外键引用关系),写出建表语句(6分)
    create table depts(dept_id int primary key ,dept_name nvachar(50),description nvarchar(100));
    create table employees(id int primary,name nvarchar(50),gender char(10),dept_id int,join_time datetime,salary decemical(2,9),address nvarchar(50),age int,des nvarchar(100),constraint e_fk foreign key(dept_id) references depts(dept_id));
    2)为员工表employees添加一个字段image用于记录员工头像(2分)
    Alter table employees add image nvarchar(100) not null;
    3)查询除了名字叫张三以外的员工的记录(2分)
    Select *from employees where name not int(‘张三’)
    4)查询薪水在2000-5000之间的员工记录(2分)
    Select *from employees where salary >2000 and salary <5000;
    5)查询部门编号是1、3、5的员工的记录(2分)
    Select *from employees where dept_id int(1,3,5);
    6)查询名字以“张”开头的员工的记录(2分)
    Select *from employees where name like ‘张%’;
    7)查询性别为“M”且在2008年1月1日入职的员工的记录(2分)
    Select *from employees where gender=’M’AND join_time=’2018-1-1’;
    8)查询出平均月薪最高的部门编号与名字(3分)
    Select dept_id,name where group by dept_id having out max(avg(salary));
    9)为employees表的name列创建索引(2分)
    Create index index_employees on employees (name);
     
    10)创建视图, EMP_V_10, 包括10号部门的信息和所有职员信息(3分)
    Create view EMP_V_10 as select employees.*,depts.* from employees,depts where dept_id=10;
    11)创建一个用户test1使他只拥有查询employees表的权限(2分)
    Grante select on empinfo.employees to ‘aliyunzixun@xxx.com’identity by ‘test1’;
    12)授予普通DBA用户(systop)管理empinfo数据库的权限(2分)
    Grante * on empinfo.*to ‘aliyunzixun@xxx.com’identity by ‘systop’;
    13)授予用户test3拥有employees表name列的更改权限(3分)
    Grante update on empinfo.employees.name to ‘aliyunzixun@xxx.com’identity by ‘test3’;
    14)为employees表开启事务功能的操作步骤(4分)
    Begin transaction
    执行事务体语句{...}
    aliyunzixun@xxx.com>0
    Begin
    Rollback transaction
    End
    Else
    Begin
    Commit transaction
    End
    End
    15)写出将empinfo数据库备份到远程服务器182.21.32.129的方法和步骤(5分)
    备份-发送-导入
    Mysqldump -u root -p --all-database >empinfo.sql
    Scp empinfo.sql 182.21.32.129 /tmp
    Mysql -u root -p < /tmp/empinfo.sql

  • 相关阅读:
    Java中容器的两种初始化方式比较
    java8之stream
    java8之lambda表达式入门
    java8之lambda表达式(1)-基本语法
    java中Comparable和Comparator两种比较器的区别
    将博客搬至CSDN
    vsphere6.5 创建数据中心、集群和添加主机
    VMware-VCSA-6.5安装过程
    docker--数据卷与数据卷容器
    docker私有库搭建过程(Registry)
  • 原文地址:https://www.cnblogs.com/zhen622/p/9948122.html
Copyright © 2020-2023  润新知