美文网首页
数据库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