美文网首页
数据库MySQL

数据库MySQL

作者: 超级皮波9 | 来源:发表于2019-01-09 16:54 被阅读0次

    概念和介绍

    1.什么是数据库?

    • 数据库就是存储数据的仓库
    • 数据库和Excel很像, 一个Excel文件就相当于一个数据库
    • 一个Excel文件中可以有很多的表, 一个数据库中也可以有很多的表
    • Excel文件的每个表就是专门用户用于存储数据的
    • 数据库中的每个表也是专门用于存储数据的
    • 所以学习数据库就是学习如何新建表,往表中存储数据和操作表中的数据

    Excel本质是一个文件, 数据库本质上也是一个文件
    Excel文件中可以有很多表, 数据库文件中也可以有很多的表
    Excel文件的每个表就是用来存储数据的, 数据库文件的每个表也是用来存储数据的

    2.什么是MySQL?

    • MySQL是一个关系型数据, MySQL是由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。
    • MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的关系数据库
    • 下载地址: https://dev.mysql.com/downloads/windows/installer/5.7.html

    3.什么是关系型数据库?

    • 3.1数据库萌芽阶段:

    • 最初程序员们把磁盘上的文件当做数据库来使用, 但是由于不方便管理和不安全所以后来就有了第一代数据库(层次模型和网状模型数据库)

    • 3.2第一代数据库:

    • 层次模型数据库

      • 特点:
      • 类似于HTML结构, 根结点在最上端,层次最高,子结点在下,逐层排列
      • 有且仅有一个结点没有父结点,它就是根结点
      • 其他结点有且仅有一个父结点
        • 如果节点有多个父节点, 冗余数据过多.
        • 例如某个教师既数据A系又属于B系, 那么只能引入冗余数据
      • 所有的子节点不能脱离父节点而单独存在
        • 如果要删除父节点,那么父节点下面的所有子节点都要同时删除,但是可以单独删除一些叶子节点
      • 每个记录类型有且仅有一条从父节点通向自身的路径
        • 查询节点的时候必须知道其双亲节点
    • 网状模型数据库

      • 特点:
      • 类似于增强版层次模型
      • 允许结点有多于一个父结点
      • 可以有一个以上的结点没有父结点
      • 结构比较复杂,随应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
    • 3.3第二代数据库:

    • 关系型数据库

      • 特点:
      • 1.每个表都是独立的
      • 2.表与表之间通过公共字段来建立关系(例如ID字段)
      • 3.多表查询效率低
      • SQL Server/Oracle/MySQL
    • 非关系型数据库


    数据库的基本操作

    1.创建数据库

    create database [if not exists] 数据库名称 [字符编码];
    
    示例一:
    在MySQL中创建一个名称叫做stu1的数据库
    create database stu1;
    注意点: 如果已经存在一个叫做stu1的数据库, 那么会报错
    
    示例二:
    判断如果没有stu1的库就创建, 有就不创建
    企业开发中推荐这样写
    create database if not exists stu1;
    
    示例三:
    创建一个数据库, 告诉MySQL将来数据库中存储的内容采用gbk编码
    create database if not exists stu2 charset=gbk;
    注意点:
    如果没有手动设置数据库的编码, 那么默认会采用安装时全局的设置作为默认的编码
    就是在安装时日本儿界面中指定的编码
    
    2.如何查看数据库全局默认的编码
    show variables like 'character_set_%';
    3.如果查看某个数据库的编码
    show create database 数据库名称;
    
    4.特殊的数据库名称处理
    如果数据库的名称是SQL语句的关键字或者是特殊符号, 那么数据库的名称需要用反引号括起来
    create database if not exists create charset=utf8; #报错
    create database if not exists `create` charset=utf8; #不会报错
    create database if not exists `#%~*%#` charset=utf8; #不会报错
    

    2.如何删除数据库

    drop database [if exists] 数据库名称;
    
    示例一:
    
    drop database stu1;
    注意点: 如果数据库不存在会报错
    
    示例二:
    
    判断只有表存在才删除, 不存在就不删除
    drop database if exists stu1;
    
    新建-- C/增加
    create database [if not exists] 数据库名称 [字符编码];
    
    删除-- D/删除
    drop database [if exists] 数据库名称;
    
    读取-- R/查看
    show databases;
    
    修改-- U/修改
    alter database 数据库名称 charset=字符编码
    
    示例:
    alter database stu2 charset=utf8;
    

    相关文章

      网友评论

          本文标题:数据库MySQL

          本文链接:https://www.haomeiwen.com/subject/wiugrqtx.html