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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM