如何使用MySQL数据库
MySQL 数据库体积小、速度快、总体拥有成本低,开源;
支持多种操作系统;
是开源数据库,提供的接口支持多种语言连接操作 ;
MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;
MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证;
支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展;
支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改;
拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;
MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。
这个问题太大,无法说的太细,抱歉
无外乎都是安装,使用,调优
一 安装
windows下的向导安装,linux下的编译安装或者yum安装
二 使用
基本的DDL DML语句应该基本掌握。
如果有运维工作,用户权限,日志管理,主从搭建,分库分表,应该掌握。
如果是开发,主流的数据持久化框架应该掌握,如mybatis,spring-jdbc,hhibernate等
三 调优
数据库参数的调优,sql基本优化,应该掌握
主从架构— —概念
binlog日志
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。
复制原理
1. 主库操作保留binlog日志
2. 从库的IO线程从主库拉取binlog日志,并生成中继日志(relay log)
3. 从库的SQL线程解析中继日志,并在本身回放
两种方式,一种是MySQL自带的命令行窗口,一种是图形用户管理工具,前者类似于一个cmd窗口,日常管理维护数据库不是很方便,后者就是一个图形用户管理软件,种类繁多,使用起来也相对容易一些,下面我简单介绍一下这2种方式:
1.这个MySQL一般会自带,安装完MySQL后,直接可以在开始菜单中找到,如下:
2.点击进去,输入密码后,就可以直接使用MySQL数据库,编写SQL代码了,效果如下,这里你也可以将MySQL添加到环境变量中,后面就可以直接使用命令“mysql -h localhost -u root -p”连接,效果一样:
这个就很多了,下面我简单介绍几个软件,基本功能都不相上下,选择适合自己的一个就行:
1.MySQL workbench:这个是MySQL官方自带的一个图形用户管理工具,免费、跨平台,可以直接在MySQL官网下载,支持数据库的迁移、设计、建模、备份和恢复等功能,可以直接新建查询,编写SQL语句,使用起来非常不错:
2.Navicat:这也是一个非常不错的图形用户管理工具,大部分开发人员都应该听说或者使用过,界面干净整洁,可以直接建库建表、设计相关字段属性和主外键等,也支持数据库备份、恢复等功能,使用起来也非常方便:
MySQL是由瑞典MySQL AB公司开发的关系数据库管理系统,属于Oracle旗下的产品。对于如何使用MySQL数据库这个问题,其实MySQL有两种方式,一个是MySQL随附的命令行窗口,另一个是图形用户管理工具。前者类似于cmd窗口,日常管理和维护数据库不是很方便。后者是图形用户管理软件,种类多,操作简单,使用也比较容易一些。
命令行窗口
1.这个MySQL一般会自带,安装完MySQL后,直接可以在开始菜单中找到,如下:
2.点击进去,输入密码后,就可以直接使用MySQL数据库,编写SQL代码了,效果如下,这里你也可以将MySQL添加到环境变量中,后面就可以直接使用命令“mysql -h localhost -u root -p”连接,效果一样:
图形用户管理工具
这个就很多了,简单介绍几个软件,基本功能都不相上下,选择适合自己的一个就行:
1.MySQL workbench:这个是MySQL官方自带的一个图形用户管理工具,免费、跨平台,可以直接在MySQL官网下载,支持数据库的迁移、设计、建模、备份和恢复等功能,可以直接新建查询,编写SQL语句,使用起来非常不错:
2.Navicat:这也是一个非常不错的图形用户管理工具,大部分开发人员都应该听说或者使用过,界面干净整洁,可以直接建库建表、设计相关字段属性和主外键等,也支持数据库备份、恢复等功能,使用起来也非常方便:
数据库中3NF的含义
NF的意思是范式。粗略而言数据库分为三个范式。即:第一范式 第二范式 第三范式。第一范式的意思是:数据表中的字段都是不可分割的,原子的。第一范式是最简单的,也是必需的。我想你应该明白。
第二范式:在第一范式的基础上,数据表中各字段和主键之间不存在部分依赖。例如:数据表中存在字段组成,其中组合在一起构成主键。如果学生的姓名不重复的情况下,那么就存在部分依赖。
第三范式:第二范式的基础上,不存在传递依赖。 所谓传递依赖是指:例如:数据表中存在字段组成,其中是主键。如果学生的姓名不重复的情况下,那么就存在传递依赖。即:学号可以唯一确定姓名,而姓名有是不重复的,所以,姓名也可以唯一确定分数。那么,学号决定分数就不唯一了,中间还有姓名可以确定。这就是所谓的传递依赖。