欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

冲刺豆瓣(20):mysql基础面试题_MySQL

程序员文章站 2022-03-04 15:37:09
...
【相关专题推荐:mysql面试题(2020)】

1、mysql有关权限的表都有哪几个?

MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。

这些权限表分别user,db,table_priv,columns_priv和host。

  • user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。

  • db权限表:记录各个帐号在各个数据库上的操作权限。

  • table_priv权限表:记录数据表级的操作权限。

  • columns_priv权限表:记录数据列级的操作权限。

  • host权限表:配合db权限表对给定主机上数据库级操作权限作更细致的控制。这个权限表不受GRANT和REVOKE语句的影响。

2、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ?

如果表的类型是MyISAM,那么是18。

因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。

如果表的类型是InnoDB,那么是15。

InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都会导致最大ID丢失。

3、MYSQL相比于其他数据库有哪些特点?

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些。

可以处理拥有上千万条记录的大型数据

支持常见的SQL语句规范

可移植行高,安装简单小巧

良好的运行效率,有丰富信息的网络支持

调试、管理,优化简单(相对其他大型数据库)

4、如何解决MYSQL数据库中文乱码问题?

在数据库安的时候指定字符集:

如果在安完了以后可以更改以下文件:C:/Program Files/MySQL/MySQL Server 5.0/my.ini里的所有的 default-character-set=gbk

C:/Program Files/MySQL/MySQL Server 5.0/data/depot_development/db.optdefault-character-set=gbkdefault-collation=gbk_chinese_ci

建立数据库时候:指定字符集类型:

CREATE DATABASE `database`CHARACTER SET ‘utf8′COLLATE ‘utf8_general_ci’;

建表的时候 也指定字符集:

CREATE TABLE `database_user` (`ID` varchar(40) NOT NULL default ”,`UserID` varchar(40) NOT NULL default ”,) ENGINE=InnoDB DEFAULT CHARSET=utf8;

设置URL的时候:

jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8

5、题外话:

如果没有人相信你,那就自己相信自己;如果没人欣赏你,那就自己欣赏自己;如果没人祝福你,那就自己祝福自己。用心去触摸属于自己的阳光,用爱去创造属于自己的时空。当自己读懂了自己,世界才能读懂你。

相关学习推荐:mysql教程