15个 MySQL 基础面试题,DBA 们准备好了吗

15个 MySQL 基础面试题,DBA 们准备好了吗,第1张

问题1:你如何确定 MySQL 是否处于运行状态?

答案: 在Debian 上运行命令 service mysql status,然后看输出即可。

在 RedHat 或者 centos 上运行命令 service mysqld status,然后看看输出即可。

问题2:如何开启或停止 MySQL 服务?

答案:运行命令 service mysqld start 开启服务;

运行命令 service mysqld stop 停止服务。

问题3:如何通过 Shell 登入 MySQL?

答案:运行命令 mysql -u用户名 -p登陆密码

问题4:如何列出所有数据库?

答案:运行命令 show databases

问题5: 如何切换到某个数据库并在上面工作?

答案:(1)运行命令 use database_name

(2)进入名为 database_name 的数据库。

问题6:如何列出某个数据库内所有表?

答案:在当前数据库运行命令 show tables

问题7:如何获取表内所有 Field 对象的名称和类型?

答案:运行命令 describe 表名

简写为desc 表名

问题8:如何删除表?

答案:运行命令 drop table 表名

问题9:如何删除数据库?

答案:运行命令 drop database 数据库名

问题10:如何查看表内所有数据?

答案:运行命令 select * from 表名

问题11:如何从表(比如 oc_users )中获取一个 field 对象(比如 uid)的所有数据?

答案:运行命令 select uid from oc_users

问题12:假设你有一个名为 ‘xyz’ 的表,它存在多个字段,如 ‘createtime’和 ‘engine’,

名为 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 两种数值组成。

如何只列出 ‘createtime’ 和 ‘engine’ 这两列,并且 engine 的值为 ‘MyIsam’?

答案:运行命令 select create_time, engine from xyz where engine = “MyIsam”

问题13:如何列出表 ‘xrt’ 内 name 域值为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?

答案:运行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”

问题14:如何列出表 ‘xrt’ 内 name 域值不为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?

答案:运行命令 select * from xrt where name != “tecmint” and web_address = “tecmint.com”

问题15:如何知道表内行数?

答案:运行命令 select count(*) from 表名

原文链接: http://bbs.51cto.com/thread-1470880-1.html

基本原理流程,3个线程以及之间的关联;

(1)、varchar与char的区别

(2)、varchar(50)中50的涵义

(3)、int(20)中20的涵义

(4)、mysql为什么这么设计

2>.InnoDB支持行级锁,而MyISAM支持表级锁

3>.InnoDB支持MVCC, 而MyISAM不支持

4>.InnoDB支持外键,而MyISAM不支持

5>.InnoDB不支持全文索引,而MyISAM支持。

(2)、innodb引擎的4大特性

插入缓冲(insert buffer),二次写(double write),自适应哈希索引(ahi),预读(read ahead)

(3)、2者selectcount(*)哪个更快,为什么 myisam更快,因为myisam内部维护了一个计数器,可以直接调取。

(1)、您是选择拆成子表,还是继续放一起;

(2)、写出您这样选择的理由。

开放性问题:据说是腾讯的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6115382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存