zoukankan      html  css  js  c++  java
  • Day38——>MySQL

    一、数据库的由来

    怎么才能把数据永久保存下来,根据我们以前的所学,文件处理就可以将数据永久存储。

    但是文件处理有很大的问题:
      1.管理不方便
      2.文件操作效率问题
      3.一个程序不太可能仅运行在同一台电脑上


    那么为了解决这些问题,采取了提高计算机性能的方式
      1.垂直扩展 指的是更换性能更好的硬件
      2.水平扩展 指的就是添加更多的计算机 把任务分配给每一台 (分布式计算)


    分布式计算 的好处:
      1.其中某一台挂了 不会导致整个系统瘫痪 稳定性高
      2.理论上性能可以无限扩展


    基于分布式计算,我们可以把数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件(用socket实现),即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理

    根据以上描述,我们就需要编写一套程序,一个运行在客户端,一个运行在服务端,于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来

    二、数据库介绍

    了解数据库之前我们先来了解几个概念,什么是数据,什么是数据库,什么是数据库管理系统,什么是数据库系统?

    数据(Data):

    描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机,这就是数据。

    数据库(DB):

    数据库是长期存放在计算机内、有组织、可共享的数据。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

    数据库管理系统(DBMS):

    用于管理数据库的软件,常见的有Oracle、MySQL、SQL Server、Access等。

    数据库系统(DBS):

    数据库系统一般由四个部分组成:数据库、硬件、软件、人员。

    数据库管理系统、数据库、数据表、数据之间的关系:

    数据库管理系统:管理数据库的软件

    数据库:文件夹

    数据表:文件

    数据:普通数据

    三、MySQL的介绍和安装

      MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前数据Oracle旗下公司.MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS应用软件之一.

      数据库管理软件分类:

      关系型:db2, oracle, access,sqlserver,MySQL

      非关系型:mongodb, redis, memcache

    1.安装

    下载

    从官网下载mysql,下载的时候根据电脑的版本下载32位或64位的

    配置环境变量

    变量名:MYSQL_HOME

    变量值:C:Program FilesMySQLmysql-5.6.41-winx64(你的电脑的MySQL的存放位置)

    path里添加:%MYSQL_HOME%in;

    以管理员身份运行CMD

    mysqld -install

    MySQL服务器初始化

    mysqld --initialize-insecure 

    启动MySQL服务

    mysqld

    启动MySQL客户端并连接MySQL服务

    mysql -uroot -p #用mysql自带的客户端登录服务器
    (-u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端不需要指的 -h -P)

    2.设置密码

    mysqladmin -uroot -p旧密码 password 新密码(如果是密码为空,就不用-p)

    3.忘记密码

    三种方法:

    1.删除存储密码的文件

    2.重装mysql

    3.可以在启动服务器时 告诉他 让他不要读取密码文件
      1.在服务端mysqld -skip-grant-tables

      2.无密码登录服务器

      3.在客户端就可以跳过密码的阶段直接进入服务器,使用update 来更新你的密码 在msyql.user表中
       在客户端 update mysql.user set password = password(修改后的密码) where user = "root" and host="localhost";

      4.重启服务 验证新密码

    4.基本操作

    数据库服务器中存放的是 库(文件加) 表(文件) 表里面是记录(一行数据)


    库相关

      创建
        create database 数据库名 charset 编码名称;
      修改
        alter database 数据库名 charset gbk;   #修改指定库的编码
      查
        show databases;   #查看所有数据
        show create database 数据库名;    #查看建库语句
      删除
        drop database 数据库名; 

      ues 库名 #进入库中,可以对该库中的表进行操作

    表相关 

      创建
        create table 表名(字段名 类型,字段名 类型。。。。);#create table t1(id int,name char);
      修改
        alter table 表名 add | drop | modify | change;
          add 字段名 数据类型(长度);  #添加新字段名与类型(char默认为1字节,int默认为11)
          drop 字段名;  #删除指定字段
          modify  字段名 新类型;  #修改指定字段的类型
          change 旧字段名 新的字段名 新类型;  #修改指定字段的字段名与类型
        alter table t1 charset gbk;  #修改t1表的字符编码
        rename table 旧表名 to 新表名;  #修改表名
      查
        show tables;   #显示该库中的所有表
        show create table 表名;  # 查看建表语句
        desc 表名;  #  查看表结构(字段)
      删除
        drop table 表名;  #删除表
        truncate table 表名;  #重建表(清空数据);


    记录

      添加
        insert into 表名 values(值1...),(值1....)....;  #插入时注意 值得顺序 和 类型必须与表结构一致
        
      修改
        update 表名 set 字段名=新的值 where 条件;  #可以同时修改多行 用逗号来隔开,字段没有条件就全改
        
      查
        select *|字段名 from 表名  where 条件;   #根据where的条件,在指定表里寻找指定字段,并显示信息(*表示所有字段)


      删除
        delete from 表名 where 条件;  #没有条件就全删

  • 相关阅读:
    git的相关命令
    vue资料链接
    自定义小程序底部菜单
    物联网开发日记四:原理图2
    物联网开发日记三:原理图1
    物联网开发日记二:设计系统结构
    物联网开发日记一:准备工作
    mybatis不使用@Param有人报错有人却不报错问题
    最简单的js包装对象、ajax请求
    java文字转拼音、首字母缩写
  • 原文地址:https://www.cnblogs.com/Mister-JH/p/9630096.html
Copyright © 2011-2022 走看看