MySQL基础

一、关于数据库

1、什么是数据库

image

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安装为例

  1. 安装
#yum install mysql-server
  1. 初始化
#service mysqld start  // 初始化之前先启动mysql
#mysql_secure_installation
  1. 启动控制
启动控制语法:
#service mysqld start/stop/restart

进入mysql方式:
#mysql -u 用户名 -p 密码

退出mysql到linux命令行:
mysql> exit
  1. 默认目录/文件位置(了解)

    数据库存储目录:/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. 增加记录
语法1:INSERT INTO 表名称 VALUES (值1, 值2, ....);
语法2:INSERT INTO 表名称 (列1, 列2, ....) VALUES (值1, 值2, ....);
  1. 更新记录
语法:UPDATE 表名称 SET 列名称1 = 新值1, 列名称2 = 新值2, ... WHERE 列名称 = 某值;
  1. 查询记录
SELECT 列名称 FROM 表名称 WHERE 条件;
SELECT * FROM 表名称 WHERE 条件;
  1. 删除记录
DELETE FROM 表名称 WHERE 列名 = 某值;

5、备份和还原(重点)

  1. 备份(导出)
全量备份:#mysqldump -uroot -p123456 -A > 备份文件路径(.sql后缀)
指定库备份:#mysqldump -uroot -p123456 库名 > 备份文件路径(.sql后缀)(常用)
多个库备份:#mysqldump -uroot -p123456 --databases db1 db2 > 备份文件路径(.sql后缀)
  1. 还原(导入)
还原有两种方法:(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。

你可能感兴趣的:(MySQL基础)