zoukankan      html  css  js  c++  java
  • 数据库(一)数据库简介,MySQL的安装与基本语法

    1.数据库

    什么是数据(Data)

      数据就是描述事物的符号记录,描述事物的符号可以是数字,文字,图片等,在计算机中要描述一个事物,就要抽取事物的特征,组成一条条记录.

    什么是数据库(DataBase,简称DB)

      数据库就是存放数据的仓库,只不过现在这个仓库是在计算机存储设备上,按照一定的格式存放

      数据库中的数据具有较小的冗余度,较高的数据独立性和易扩展线

    什么是数据库管理系统(Database Management System,简称DBMS)

      数据库管理系统就是管理数据和数据库的应用程序

    数据库管理数据库分为两类:

      关系型数据库

        数据和数据之间是有关联和限制的

        关系型数据库通常就是表结构,所以我们在使用这一类数据库时第一步需要确定表的结构

        常见的关系型数据库有:MySQL,Oracle,sqlite,db2,sql server

      非关系型数据库

        通常都是以k,v键值的形式存储数据

        常见的有:Redis,MongoDB(文档型数据库,非常接近关系型的非关系型数据库),memcache

    注意:在我们Python的开发中,最常使用的是MySQL数据库

    2.初识MySQL

      MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件。

      MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
      MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    MySQL数据库内的数据内容分类

      首先一个数据库由不同大小的库组成,一个库又由不同大小的表组成,一个表由不同大小的记录组成

    我们可以将数据库类比成计算机内部的文件系统
    库   >>>   文件夹
    表   >>>   文件
    记录 >>>   文件内一行行的数据叫做一条条的记录
    
    表头:表格的第一行数据
    
    字段:字段名+字段类型

     

    3.MySQL的下载与安装

    mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。

    mysql的安装、启动和基础配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

    mysql的安装、启动和基础配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

    mysql的安装、启动和基础配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)

    4.使用MySQL前的一些小操作

      MySQL也是一个基于socket通信的c/s架构的软件,所以他也具有服务端和客户端,服务端的启动程序是bin文件夹下的mysqld,客户端的启动程序是bin文件夹下的mysql

      在运行MySQL前最好将bin目录添加到系统环境变量下,这样我们可以直接打开程序

      首先我们使用管理员身份打开cmd终端

      服务端的打开:直接输入mysqld

      客户端的打开:重开一个cmd终端窗口,输入mysql -h 127.0.0.1 -p 3306 -uroot -p,如果是本机IP和端口号可省略

      客户端的退出:exit或者quit

      查看所有的数据库:show databases

      查看某个进程:退出数据库之后在终端输入tasklist |findstr +名称

      杀死某个进程:taskkill /F /PID+进程号

    注意:1.MySQL在初始登录的时候是没有密码的,直接回车即可,

       2.MySQL中的sql语句,是以分号结束的,不敲分号默认没有输完,客户端还会继续让我们输入

    制作环境变量
      将启动文件所在的路径添加到系统的环境变量中

      注意:配置完之后一段要重新启动mysql服务端及cmd终端

    将mysqld制作成系统服务
      制作系统服务 你的cmd终端一定要是管理员身份

      mysqld --install

    修改密码
      没有密码的情况下
        mysqladmin -uroot -p password 123
      有密码的情况下
        mysqladmin -uroot -p123 password 123456

      当命令输入错误的时候 可以用c取消前面的命令 cancel

    破解密码
      先将已经启动的服务端停掉

      1.跳过用户名和密码的验证功能 启动服务端
        mysqld --skip-grant-tables 启动服务端 跳过授权表
      2.修改管理员用户对应的密码
        update mysql.user set password=password(123) where user='root' and host='localhost';
      3.关闭当前服务端 重新以校验用户名密码的方式启动
      4.正常以用户名密码的方式 连接mysql服务端

    配置文件
      s查看 mysql服务端简单配置
      通常情况下配置文件的后缀都是ini结尾

      mysql自带的配置文件不要修改
      但是你可以新建一个配置文件 my.ini
      mysql服务端在启动就会自动加载你的my.ini配置文件内的配置

      修改完配置文件之后需要先将服务端停止 重新启动 才能生效

      修改了配置文件一定要重启服务端

    4.MySQL内的基本操作

    1. 操作文件夹(库)
       增:create database db1 charset utf8;
       查:show databases; 查所有
        show create database db1; 查单个 改:alter database db1 charset latin1; 修改编码 删除: drop database db1; 删库
    2. 操作文件(表) 先切换到文件夹下:use db1; 指定库
               select database(); 查看当前所在的库 增:create table t1(id int,name char); 查:show tables; 查看某个库下面的所有的表
        show create table t1; 查看单个表的信息
        desc t1; 查看表中的描述信息 改:alter table t1 modify name char(
    3); alter table t1 change name name1 char(2); 删:drop table t1; 3. 操作文件中的内容(记录) 增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3'); 可以插入多个 查:select * from t1; 查询所有的字段信息
        select name from t1; 查询所有字段的指定信息
        select name from t1 where id=1; 查询带有筛选条件的字段信息 改:update t1 set name
    ='sb' where id=2; 修改数据的一个字段信息,可以修改多个 删:delete from t1 where id=1; 删除指定条件的数据
        delete from t1; 删除表中的所有数据 清空表: delete
    from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。 truncate table t1;数据量大,删除速度比上一条快,且直接从零开始, *auto_increment 表示:自增 *primary key 表示:约束(不能重复且不能为空);加速查找

    5.MySQL内的存储引擎

    什么是存储引擎

      不同的数据应该具有不同的处理机制

    MySQL中的存储引擎

      Innodb:默认的存储引擎,支持事务,外键,行锁,所以相对来说比较安全.查询速度较myisam慢,但是更加的安全

      myisam:MySQL5.1版本之前的默认存储引擎,不包括5.1,它是存储记录和文件的标准方法,它不是事务安全的,并且不支持外键

      memory:内存引擎(数据都存放在内存中),断电或者关闭服务端,数据即消失

      blackhole:无论存什么都立马消失(黑洞)

    各个不同的引擎生成的文件区别

      Innodb:表t1,生成两个文件,第一个是表结构文件,第二个是真实数据

      myisam:表t2,生成两个文件,第一个是表结构文件,第二个是真实数据,第三个是表索引

      memory:表t3,生成一个文件,只有一个表结构文件,它的真实数据存储在内存中

      blackhole:表t4,生成一个文件,只有一个表结构文件,并且没有真实数据,存进来什么立马消失

     

     34

  • 相关阅读:
    Elasticsearch简介及C#操作库
    开发商城
    小程序源码下载[demo整理自github]
    基于vue的可视化编辑器
    Ocelot中文文档-Qos服务质量(转)
    干货 | Elasticsearch、Kibana数据导出实战
    java常用的框架介绍
    操作系统基础知识2
    操作系统基础知识
    计算机网络基础知识2
  • 原文地址:https://www.cnblogs.com/sxchen/p/11366305.html
Copyright © 2011-2022 走看看