• Mysql基础


    ------------恢复内容开始------------

    数据库的基本概念

    为什么要学习数据库?

    更加方便的对开发中的数据进行管理!

    我们之前是如何对数据进行管理的呢?IO流。

    但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35

    张三 23 男
    李四 24 男
    王五 25 女
    赵六 26 女
    周七 27 男
    

    我们要如何实现呢?  

    • 可以采用字符缓冲流,将每一行数据读取出来,封装为User对象。将多个User对象保存到集合中

    • 然后遍历集合,将王五对象的年龄修改为35,再重新将集合中的对象信息写回到文件中

    这一套操作太麻烦了,而现在我们有一种更加方便的方式来完成这个需求了,这种方式就是数据库!

    数据库的介绍

    用于存储和管理数据的仓库

    英文单词为DataBase,简称DB!

    它的存储空间很大,可以存放百万条,千万条,上亿条数据。

    使用一种统一的方式操作数据库------SQL

     MySQL是一个最流行的关系型数据库管理系统之一。由瑞典MySql AB公司开发。后被Oracle公司收购

    关系型数据库是将数据保存在不同的数据表中,而不是将所有数据放在一个大仓库内,而且表与表之间

    还可以有关联关系,这样就提高了访问速度以及提高了灵活性。

    MySQL所使用的SQL语句是用于访问数据库最常用的标准化语言。

    免费(6版本之前)。

    数据库的安装

    为了能狗更好的体现真实开发环境,我们将MySQL安装在Linux系统上,以此来模拟公司的数据库服务器。

    2.MySQL数据库安装

    1. 通过secureCRT工具连接Linux系统

    2. 上传 mysql 的安装包

    alt + p -------> put d:/setup/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
    

      解压 mysql 的安装包

    mkdir mysql
    tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C mysql/
    

      安装客户端

    cd mysql/
    rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm --force --nodeps
    

      安装服务端

    rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm --force --nodeps
    

      修改mysql默认字符集

    vi /etc/my.cnf
    
    添加如下内容:
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    -- 需要在最下方填写
    [client]
    default-character-set=utf8
    

      启动mysql服务

    service mysqld start
    

      登录mysql

     

    mysql -u root -p  敲回车,输入密码
    初始密码查看:cat /var/log/mysqld.log
    在root@localhost:   后面的就是初始密码
    

      修改mysql登录密码

    set global validate_password_policy=0;
    
    set global validate_password_length=1;
    
    set password=password('密码');
    

      授予远程连接权限

    //授权
    grant all privileges on *.* to 'root' @'%' identified by '密码';
    //刷新
    flush privileges;
    

      关闭Linux系统防火墙

    systemctl stop firewalld.service
    

    DDL操作数据库和数据表

      数据库,数据表,数据的关系

    MySQL服务器中可以创建多个数据库

     每个数据库中可以包含多张数据表

    每个数据表中可以存储多条数据记录

    客户端通过数据库管理系统来操作MySQL数据库

    2.SQL介绍

    • 什么是SQL

      • Structured Query Language:结构化查询语言

      • 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”。

    • SQL通用语法

      • SQL 语句可以单行或多行书写,以分号结尾。

      • 可使用空格和缩进来增强语句的可读性。

      • MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

      • 数据库的注释:

        • 单行注释:-- 注释内容 #注释内容(mysql特有)

        • 多行注释:/* 注释内容 */

    • SQL分类

      • DDL(Data Definition Language)数据定义语言

        • 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等

      • DML(Data Manipulation Language)数据操作语言

        • 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等

      • DQL(Data Query Language)数据查询语言

        • 用来查询数据库中表的记录(数据)。关键字:select, where 等

      • DCL(Data Control Language)数据控制语言(了解)

        • 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

     

    3.DDL-操作数据库

    • R(Retrieve):查询

      • 查询所有数据库

    -- 查询所有数据库
    SHOW DATABASES;
    

      查询某个数据库的创建语句

    -- 标准语法
    SHOW CREATE DATABASE 数据库名称;
    
    -- 查看mysql数据库的创建格式
    SHOW CREATE DATABASE mysql;
    

      

    C(Create):创建

    • 创建数据库

    -- 标准语法
    CREATE DATABASE 数据库名称;
    
    -- 创建db1数据库
    CREATE DATABASE db1;
    
    -- 创建一个已存在的数据库会报错
    -- 错误代码:1007  Can't create database 'db1'; database exists
    CREATE DATABASE db1;
    

      创建数据库(判断,如果不存在则创建)

    -- 标准语法
    CREATE DATABASE IF NOT EXISTS 数据库名称;
    
    -- 创建数据库db2(判断,如果不存在则创建)
    CREATE DATABASE IF NOT EXISTS db2;
    

      创建数据库、并指定字符集

    -- 标准语法
    CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称;
    
    -- 创建数据库db3、并指定字符集utf8
    CREATE DATABASE db3 CHARACTER SET utf8;
    
    -- 查看db3数据库的字符集
    SHOW CREATE DATABASE db3;
    

      练习:创建db4数据库、如果不存在则创建,指定字符集为gbk

    -- 创建db4数据库、如果不存在则创建,指定字符集为gbk
    CREATE DATABASE IF NOT EXISTS db4 CHARACTER SET gbk;
    
    -- 查看db4数据库的字符集
    SHOW CREATE DATABASE db4;
    

      

    U(Update):修改

    • 修改数据库的字符集

    -- 标准语法
    ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
    
    -- 修改数据库db4的字符集为utf8
    ALTER DATABASE db4 CHARACTER SET utf8;
    
    -- 查看db4数据库的字符集
    SHOW CREATE DATABASE db4;
    

      

    D(Delete):删除

    • 删除数据库

    -- 标准语法
    DROP DATABASE 数据库名称;
    
    -- 删除db1数据库
    DROP DATABASE db1;
    
    -- 删除一个不存在的数据库会报错
    -- 错误代码:1008  Can't drop database 'db1'; database doesn't exist
    DROP DATABASE db1;
    

      删除数据库(判断,如果存在则删除)

    -- 标准语法
    DROP DATABASE IF EXISTS 数据库名称;
    
    -- 删除数据库db2,如果存在
    DROP DATABASE IF EXISTS db2;
    

      

    使用数据库

    • 查询当前正在使用的数据库名称

    -- 查询当前正在使用的数据库
    SELECT DATABASE();
    

     使用数据库

    -- 标准语法
    USE 数据库名称;
    
    -- 使用db4数据库
    USE db4;
    

      

  • 相关阅读:
    为什么和什么是 DevOps?
    使用jmeter 上传文件
    jmeter 获取执行脚本的路径
    随笔(九)
    随笔(八)
    随笔(七)
    随笔(六)
    随笔(五)
    随笔(四)
    随笔(三)
  • 原文地址:https://www.cnblogs.com/faded8679/p/14575040.html
Copyright © 2020-2023  润新知