MySQL入门必看 | 数据库和它的小伙伴们

挖数网精选
挖数网精选
挖数网精选
444
文章
0
评论
2020-04-3002:05:00 评论 517 4720字
摘要

本文先解释了有关数据和数据库的相关概念,在数据的基础上,引出数据管理系统的概念等等MySQL相关的概念基础,最后详细的介绍了MySQL的安装使用方法,让你从小白入门MySQL!干货满满。

一. 什么是数据

用来描述事物的符号记录。可以是数字、文字、图形等,有多种形式,经过数字化之后存入计算机

二. 什么是数据库

数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织、存储的

三. 什么是数据库管理系统

是用于管理数据库的软件

四. 服务器、管理系统、数据库、表、记录的关系

数据库服务器相当于一台计算机,数据库管理系统相当于计算机里的一个软件,数据库相当于一个文件夹,表相当于文件夹中的文件,记录相当于文件中的内容

MySQL入门必看 | 数据库和它的小伙伴们

五. 数据库的种类

  • 早期:分为层次式数据库、网络式数据库、关系型数据库  

  • 现今:分为关系型数据库和非关系型数据库

六. 关系型数据库介绍

  • 类似于excel表格

  • 关系型数据库使用结构化语言查询,sql语句来对数据进行存储

  • 代表作:mysql和Oracle

七. 关系型数据库产品

  • Oracle

  • MySQL

  • mariaDB:是MySQL的一个分支,名称来自MySQL创始人Michael Widenius的女儿Maria的名字

  • SQL server:微软公司开发的大型关系型数据库系统, 只能在window系统下运行

  • Access数据库:入门级小型桌面数据库

  • 其他:DB2等

八. 非关系型数据库介绍

  • 非关系型数据库也称为NoSQL数据库(Not Only SQL)

  • 产生的背景:为了解决web2.0,web3.0时代高并发,高吞吐量的需求,产生了非关系型数据库

  • 扩展:web2.0:指的是以用户为主体,上传文件发布博文等

九. 种类

  • 键值(key-value)存储数据库

    典型产品:memcached、redis

  • 列存储(column-oriented)数据库

    典型产品:Cassandra,HBase

  • 面向文档(Document-oriented)数据库

    典型产品:MongoDB、CouchDB

  • 图形(graph)数据库

十. 常用非关系型数据库产品

  • Memcached:是一个开源的、支持高性能的分布式内存缓存系统

  • redis:基于key-value(键值)型的存储

  • MongoDB:是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统

十一. MySQL概述 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司十二. MySQL特点

  • 安装简单

  • 历史悠久,社区及用户活跃

  • 支持多种操作系统

  • 性能卓越,服务稳定

  • 支持多种存储引擎

十三. MySQL分类

MySQL采用双授权政策,分为社区版和商业版,然后又分为四个小版本:Alpha版、Beta版、RC版和GA版本

十四. MySQL商业版和社区版区别

  • 商业版比社区版稳定

  • 商业版有技术支持等服务,社区版只能靠社区提供

十五. MySQL版本 如:mysql-5.7.29.tar.gz #第一个数字5:主版本号 #第二数字7:发行级别,与主版本组合构成发行序列号 #第三个数字29:发行系列的版本号

查看版本

    mysql> select version();+-----------+

    | version() |

    +-----------+

    | 5.7.29 |

    +-----------+1 row in set (0.00 sec)

    十六. SQL语言介绍 SQL,英文全称structured query language,中文意思为结构化语言查询,是一种对关系型数据库中的数据进行定义和操作的语言方法十七. SQL的分类

    1. 数据查询语言(DQL)

    DQL全称data query language,称为数据检索语句,作用是从表中获得数据

    例子:查看用户

      mysql> select user,host from mysql.user;+---------------+-----------------------+

      | user | host |

      +---------------+-----------------------+

      | root | localhost |

      | test2 | 1.1.1.% |

      | test | localhost |

      +---------------+-----------------------+4 rows in set (0.00 sec)

      2. 数据操纵语言(DML)

      DML全称data Manipulation language,其语句包括insert,update,delete,分别用于添加、修改和删除表中数据

      例子:删除用户

        mysql> delete from mysql.user where user="test";

        Query OK, 1 row affected (0.02 sec)

        3. 事务处理语言(TPL)

        语句能够确保被DML语句影响的表的所有行及时更新

        4. 数据控制语言(DCL)

        DCL全称data control language,其语句通过grant或revoke获得许可

        5. 数据定义语言(DDL)

        DDL全称data definition language,其语句包括create和drop,在数据库中创建和删除库表

        6. 指针控制语言(CCL)

        CCL全称cursor control language,语句像declare cursor,fetch into和update where current用于对一个或多个表单独行的操作

        十八. 安装MySQL

        1. Linux安装

        • yum/rpm方式安装

        • 常规方式编译安装

        • 采用cmake方式编译安装

        • 采用二进制方式免编译安装

        下面使用rpm方式安装mysql.5.7

          wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpmrpm -qpl mysql57-community-release-el7-7.noarch.rpm #查看下载的rpm包

          rpm -ivh mysql57-community-release-el7-7.noarch.rpm #安装rpm包

          yum install mysql-community-server -y #安装mysql

          提示:mysql5.7之后安装完会为root用户随机生成一个密码,如果使用rpm包,则使用grep "password" /var/log/myqld.log获取

          安装完服务是没有启动,所以先要启动服务

            [root@db01 ~]#systemctl start mysqld

            获取随机密码

              [root@db01 ~]# grep "password" /var/log/mysqld.log2019-05-31T02:35:57.106896Z 1 [Note] A temporary password is generated for root@localhost: 0Hl;Ir.keo!;

              mysql> select @@log_error;+---------------------+

              | @@log_error |

              +---------------------+

              | /var/log/mysqld.log |

              +---------------------+1 row in set (0.00 sec)

              设置密码复杂度,也可以在/etc/my.cnf里面设置validate_password_policy=LOW

                mysql> set global validate_password_policy=LOW;

                Query OK, 0 rows affected (0.00 sec)

                修改密码,或者使用update修改

                  mysql> set password for root@localhost = password("guoke123");

                  Query OK, 0 rows affected, 1 warning (0.00 sec)

                  mysql> flush privileges;

                  Query OK, 0 rows affected (0.00 sec)

                  2. Windows安装

                  (1)登录方法

                  • mysql #直接输入mysql不用密码登录

                  • mysql -uroot -p #标准的登录密码

                  • mysql -uroot -p"guoke123" #如果不在脚本中建议不要使用,明文易暴露

                  (2)登录后提示符

                  默认为:mysql>,为了让更好的区分是哪个用户或主机登录,可以使用如下方法

                  • 临时更改

                    mysql> prompt u@mysql
                    :
                    :s->

                    PROMPT set to "u@mysql
                    :
                    :s->"

                    root@mysql 09:56->

                    • 永久生效

                      #进入/etc/my.cnf配置添加mysql模块

                      注意不是在[mysqld]里,如果在my.cnf配置文件中添加

                      可以使用\避免转义带来的问题

                      • 配置mysql模块

                        [root@cots3 ~]# vim /etc/my.cnf

                        [mysql]

                        prompt=\u@mysql :\d\r:\m:\s->#

                        • 重启服务

                          [root@cots3 ~]# systemctl restart mysqld#3.登录查看

                          [root@cots3 ~]# mysql -uroot -p

                          Enter password:

                          root@mysql :(none)09:13:44->use db; #进入库

                          Database changed

                          root@mysql :db09:13:49-> #就会更改为db库

                          十九. 常用参数介绍

                          • -u:用户名

                          • -d:数据库名


                          • :m:s 设置时间

                          二十. prompt参数详解

                            Option Description

                            c A counter that increments for each statement you issue

                            每个语句递增的计数器

                            D The full current date

                            当前的完整日期

                            d The default database

                            默认数据库

                            h The server host

                            服务器主机

                            l The current delimiter (new in 5.1.12)

                            当前分隔符

                            m Minutes of the current time

                            当前时间的分钟数


                            A newline character

                            换行符

                            O The current month in three-letter format (Jan, Feb, …)

                            当前月份采用三字母格式

                            o The current month in numeric format

                            数字格式的当前月份

                            P am/pm

                            p The current TCP/IP port or socket file

                            当前的tcp/ip端口或套接字文件

                            R The current time, in 24-hour military time (0–23)

                            当前时间,24小时军事时间(0-24)


                            The current time, standard 12-hour time (1–12)

                            当前时间,标准12小时制

                            S Semicolon

                            分号

                            s Seconds of the current time

                            当前时间的秒数

                            A tab character

                            标签字符

                            U www.jb51.net

                            Your full user_name@host_name account name

                            完整user_name@host_name 账户名称

                            u Your user name

                            你的用户名

                            v The server version

                            服务器版本

                            w The current day of the week in three-letter format (Mon, Tue, …)

                            三个字母格式的星期几

                            Y The current year, four digits

                            当年,四位数

                            y The current year, two digits

                            当前年份,二位数

                            \_ A space

                            空间

                            A space (a space follows the backslash)

                            一个空格

                            " Single quote

                            单引号

                            " Double quote

                            双重报价

                            \ A literal "" backslash character \文字""反斜杠字符

                            x

                            x, for any "x" not listed above

                            x,对于上面未列出的任何"x"

                            End.

                            作者:guoke-boy

                            来源:博客园

                            https://www.cnblogs.com/guoke-boy/p/12392398.html

                            • 我的微信公众号
                            • 微信扫一扫
                            • weinxin
                            • 我的微信公众号
                            • 微信扫一扫
                            • weinxin
                            匿名

                            发表评论

                            匿名网友 填写信息

                            :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: