乐趣区

Linux运维必会的100道MySql面试题之二

接上一篇:Linux 运维必会的 100 道 MySql 面试题之(一)

21. 删除 test 表中的所有数据,并查看

delete from test;

select * from test;

22. 删除表 test 和 mingongge 数据库并查看

drop table test;

show tables;

drop database mingongge;

show databases;

23. 不退出数据库恢复以上删除的数据

system mysql -uroot -pMgg123.0. </root/mingongge_bak.sql

24. 把库表的 GBK 字符集修改为 UTF8

alter database mingongge default character set utf8;

alter table test default character set utf8;

25. 把 id 列设置为主键,在 Name 字段上创建普通索引

 alter table test add primary key(id);

create index mggindex on test(name(16));

26. 在字段 name 后插入手机号字段(shouji),类型 char(11)

alter table test add shouji char(11);

#默认就是在最后一列后面插入新增列

27. 所有字段上插入 2 条记录(自行设定数据)

insert into test values('4','23','li','13700000001'),('5','26','zhao','13710000001');

28. 在手机字段上对前 8 个字符创建普通索引

create index SJ on test(shouji(8));

29. 查看创建的索引及索引类型等信息

show index from test;

show create table test\G

#下面的命令也可以查看索引类型     

show keys from test\G  

30. 删除 Name,shouji 列的索引

drop index SJ on test;

drop index mggindex on test;

31. 对 Name 列前 6 个字符以及手机列的前 8 个字符组建联合索引

create index lianhe on test(name(6),shouji(8));

32. 查询手机号以 137 开头的,名字为 zhao 的记录(提前插入)

select * from test where shouji like '137%' and name = 'zhao';

33. 查询上述语句的执行计划(是否使用联合索引等)

explain select * from test where name = 'zhao' and shouji like '137%'\G

34. 把 test 表的引擎改成 MyISAM

alter table test engine=MyISAM;

35. 收回 mingongge 用户的 select 权限

revoke select on mingongge.* from mingongge@localhost;

36. 删除 mingongge 用户下数据库 mingongge

drop user migongge@localhost;

drop database mingongge;

37. 使用 mysqladmin 关闭数据库

mysqladmin -uroot -pMgg123.0. shutdown

lsof -i :3306

38.MySQL 密码丢了,请找回?

mysqld_safe --skip-grant-tables &   
#启动数据库服务

mysql -uroot -ppassowrd -e "use mysql;update user set passowrd = PASSWORD('newpassword') where user ='root';flush privileges;"

点击关注 民工哥技术之路 微信公众号对话框回复关键字:1024 可以获取一份最新整理的技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java 基础课程、Java 实战项目、架构师综合教程、架构师实战项目、大数据、Docker 容器、ELK Stack、机器学习、BAT 面试精讲视频等。

退出移动版