接上一篇: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 面试精讲视频等。