设为首页 加入收藏

TOP

复习宝典之Mysql数据库(一)
2019-09-17 18:30:48 】 浏览:56
Tags:复习 宝典 Mysql 数据库

查看更多宝典,请点击《金三银四,你的专属面试宝典》

第一章:mysql数据库

1)mysql与mariaDb

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。

 

2)如何获取mysql版本

2.1 没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysql的bin目录,运行下面的命令即可:

mysql -V 或 mysqladmin --version 或 mysql --help|find "Distrib"

2.2 如果已经连接到了MySQL服务器,则运行下面的命令:

select version(); 或 status 或 \s

2.3 在命令行连接上MySQL服务器时,其实就已经显示了MySQL的版本,如:

mysql -uroot -padmins

 

3)mysql基础知识

3.1 mysql密码

mysql初始密码为空,默认端口3306,默认最大连接数为100;

修改密码方式:

在DOS下进入目录mysql\bin,然后键入以下命令:

mysqladmin -u用户名 -p旧密码 password 新密码

如: mysqladmin -u root -p ab12 password djg345

3.2 命令行修改root密码:

mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;

mysql> FLUSH PRIVILEGES;

显示当前的user:

mysql> SELECT USER();

3.4 命令行下数据库的操作

使用 show databases; 展示所有数据库;

使用 use+数据库名称 进入或改变当前使用的数据库;

使用 show+数据库名称 展示该数据库下的所有表;

3.5 查看表结构的方法:

登录mysql,执行:

desc+表名 或 describe+表名 或 show columns from 表名 或 explain+表名;

使用mysql的工具mysqlshow.exe:

mysql+数据库名称+表名

3.6 如何导出与导入建表语句与数据

导出:mysqldump -uroot -padmins 数据库名 表名 > database_dump.sql

导入:mysql -uroot -padmins 数据库名 < database_dump.sql

3.7 如何备份所有数据库

导出数据库:mysqldump -uroot -padmins 数据库名 > database.sql

导入数据库:mysql -uroot -padmins 数据库名 < database.sql

另外可以使用图形化界面进行导出导入

3.8 Mysql中有一个with rollup是用来在分组统计数据的基础上再进行统计汇总,即用来得到group by的汇总信息;

3.9 MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

通过mysql> CREATE TEMPORARY TABLE 表名 创建临时表,

 

4)mysql数据库引擎

数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。

 

MYSQL支持三个引擎:ISAM、MYISAM和HEAP

另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。

ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不 支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实 时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。
MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMCHK工具和用来恢复浪费空间的 MyISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据。
HEAP:HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。
InnoDB:InnoDB数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MYSQL+API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理(transaction process)也不支持外来键。尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者 或者两者,那你就要被迫使用后两个引擎中的一个了。
如果感觉自己的确技术高超,你还能够使用MySQL+API来创建自己的数据
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Mysql 基本操作 下一篇This function has none of DETER..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目