一、关于数据库
1、什么是数据库
2、MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,2008年被Sun公司收购,目前属于Oracle旗下产品。MySQL是最流行的数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。其和php是黄金搭档。
两个名词:
LAMP:L表示Linux,A表示Apache,M表示MySQL,P表示php。
LNMP:L表示Linux,N表示Nginx,M表示MySQL,P表示php。
3、常见的其他数据库软件
目前市场上还有:Oracle(重量级的数据库)、MS SQL Server(微软)、Access(微软,现在基本不用)、PostgreSQL、DB2、Mariadb(MySQL分支,完全兼容MySQL)
二、MySQL的安装及初始化
1、Linux下的软件安装方式(初步)
-
源码包
优点:
开源,如果有足够的能力,可以修改源代码
编译安装,更加适合自己的系统,稳定高效
缺点:
安装步骤较多,容易出错
编译过程较长
扩展:解包
常用语法:
#tar -zxvf *.tar.gz
#tar -jxvf *.tar.bz2
选项含义:
-z或--gzip或--ungizp:通过gzip指令处理文件
-x或--extract或--get:从文件中还原文件
-v:显示操作过程
-f或--file:指定一个文件
-j:支持bzip2解压文件
-
二进制包(rpm)
优点:包管理系统简单,只需要几个命令就可以实现包的安装,升级,查询和卸载
缺点:经过编译,无法查看源码
回顾rpm相关指令:
#rpm -qa|grep 关键词
// 查询#rpm -e 关键词 [--nodeps]
//卸载,可选项[--nodeps]表示忽略依赖关系#rpm -ivh 完整名称
//安装#rpm -Uvh
//更新#rpm -qf 文件路径
//查询指定文件属于哪个包 -
yum等傻瓜式安装
优点:安装简单快捷
缺点:完全丧失了自定义性
常用yum指令:
#yum list
// 列出当前已经安装的和可以安装的软件#yum search
关键词 // 搜索指定的关键词的包#yum [-y] install 包名
#yum [-y] update [包名]
#yum [-y] remove 包名
2、安装MySQL(重点)
注:在centOS6下以yum安装为例
- 安装
#yum install mysql-server
- 初始化
#service mysqld start // 初始化之前先启动mysql
#mysql_secure_installation
- 启动控制
启动控制语法:
#service mysqld start/stop/restart
进入mysql方式:
#mysql -u 用户名 -p 密码
退出mysql到linux命令行:
mysql> exit
-
默认目录/文件位置(了解)
数据库存储目录:
/var/lib/mysql
配置文件:
/etc/my.cnf
三、MySQL的基本操作
1、名词介绍
以Excel文件举例:
数据库:可以看作是整个excel文件
数据表:可以看作是一个excel文件中的工作表(sheet)
行(记录):可以看作是一个工作表中的一行
列(字段):可以看作是一个工作表中的一列
2、库操作
以下命令在MySQL终端命令行中执行(不区分大小写):
SHOW DATABASES; // 显示当前MySQL中全部数据库
CREATE DATABASE 库名; // 创建数据库
DROP DATABASE 库名; // 删除数据库
USE 库名; // 切换数据库
3、表操作
SHOW TABLES; //显示当前数据库所有的表名(必须先 use 数据库)
CREATE TABLE 表名称 // 在当前数据库下创建数据表
(
列名称1 数据类型 [NOT NULL AUTO_INCREMENT],
列名称2 数据类型,
列名称3 数据类型,
......,
PRIMARY KEY(主键)
);
DESC 表名; // 查看表结构
DROP TABLE [IF EXISTS] 表名; // 删除数据表
4、记录/字段操作(重点)
- 增加记录
语法1:INSERT INTO 表名称 VALUES (值1, 值2, ....);
语法2:INSERT INTO 表名称 (列1, 列2, ....) VALUES (值1, 值2, ....);
- 更新记录
语法:UPDATE 表名称 SET 列名称1 = 新值1, 列名称2 = 新值2, ... WHERE 列名称 = 某值;
- 查询记录
SELECT 列名称 FROM 表名称 WHERE 条件;
SELECT * FROM 表名称 WHERE 条件;
- 删除记录
DELETE FROM 表名称 WHERE 列名 = 某值;
5、备份和还原(重点)
- 备份(导出)
全量备份:#mysqldump -uroot -p123456 -A > 备份文件路径(.sql后缀)
指定库备份:#mysqldump -uroot -p123456 库名 > 备份文件路径(.sql后缀)(常用)
多个库备份:#mysqldump -uroot -p123456 --databases db1 db2 > 备份文件路径(.sql后缀)
- 还原(导入)
还原有两种方法:(1)mysql命令行source方法;(2)系统命令方法;
1. 还原全部数据库:
(1)mysql命令行:mysql> source 备份文件路径;
(2)系统命令行:#mysql -uroot -p123456 < 备份文件路径
2. 还原单个数据库(需指定数据库)(常用)
(1)mysql> use 库名;
mysql> source 备份文件路径;
(2)#mysql -uroot -p123456 库名 < 备份文件路径
四、远程管理工具
分为两大类:B/S架构、C/S架构。
B/S:B是指浏览器,S是指服务器。例如:百度搜索应用就属于B/S架构软件。
C/S:C是指客户端,S是指服务器。例如:QQ、微信电脑端等应用程序都是C/S架构。
在B/S中,mysql有个典型的管理工具:PMA(phpMyAdmin)。
C/S中比较典型的软件:navicat。