집 >데이터 베이스 >MySQL 튜토리얼 >冲刺豆瓣(20):mysql基础面试题_MySQL
【相关专题推荐: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教程