MySQL数据库学习笔记(一)

MySQL数据库学习笔记

写在前面

随着专业课的深入学习,我们学院在大二下学年终于开了“新”课:数据库。这是不同于C语言,C++,数据结构这种”编程语言“相关,对于我来说属于全新的方向,未曾了解过的全新课程,而恰好我们老师布置了作业,要求整理近一个月以来的对MySQL数据库的笔记,正好可以水一篇博客。

关于MySQL

MySQL

MySQL是一个**关系型数据库管理系统**由瑞典[MySQL AB](https://baike.baidu.com/item/MySQL AB/2620844) 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 [RDBMS]) (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。~~~(以上资料来源于百度百科)~~~

总之,MySQL就是最最最最最好用的数据库!

什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。~~~(来源于互联网)~~~

所谓数据库就是存放数据的东西,比如教务会把我们的姓名学号选课成绩等数据存入一个数据库中。

另外还有几个概念。

  • 数据库管理系统:所谓管理系统就是管理数据库的,用于创建和管理数据库。
  • 数据库应用程序:提供可视化界面来让用户去管理数据库,更加方便的去操作数据。

数据库相关术语

在学习数据库中,遇到了非常多的专业术语,这些属于有的就是字面意思,有些却晦涩难懂,后续有增加也会补充到这里。

  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • : 键的值在当前列中具有唯一性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。

常用数据库命令总结

  • 创建数据库

    1
    CREATE DATABASE

    其中可以添加IF NOT EXISTS,作用是如果创建的这个数据库不存在则创建,另外默认状态下数据库不支持中文,需要改成utf-8编码,下面是创建名为Demo数据库的实例:

    1
    CREATE DATABASE IF NOT EXISTS Demo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  • 删除数据库

    1
    drop database <数据库名>;

    例如删除名为Demo的数据库

    1
    drop database Demo;

​ 使用该项命令应该格外注意,删除的数据会永久消失,操作不可逆,~~~删除跑路~~~

  • 查看当前服务器下已有的数据库

    1
    SHOW DATABLES;

    该命令会查找所有数据库

  • 指定某数据库为当前活动数据库

    当我们有多个数据库时,想要操作指定数据库就需要将该数据库指定为活动数据库

    1
    use <数据库名>;

    例如我们将Demo数据库指定为活动数据库

    1
    use Demo;
  • 创建数据表

    有了数据库,我们还需要创建数据表来存放数据,可以用命令

    1
    CREATE TABLE 表名 (列名 列类型);

    具体的数据类型见下方笔记

    创建的数据表也可以添加IF NOT EXISTS来防止重复创建的报错

  • 查看当前数据库下已有的数据表

    1
    show tables;
  • 查看数据表的字段信息

    1
    desc 数据表名

    或者查看某字段也可以加入字段名

    1
    desc 数据表名 字段名
  • 新增字段

    对于已经创建好的数据表,也可以根据需求去添加字段

    1
    ALTER 数据表名 ADD 新增字段名 数据类型 [FIRST|AFTER 字段名]

​ 其中FIRST是将新增字段插入表的第一行,AFTER是插入在某个字段名后面

​ 还可以使用如下命令来批量添加新字段

1
ALTER 数据表名 ADD (新字段名1类型1,新字段名2 类型2,……)
  • 删除字段

    既然能新增,也一定能删除

    1
    ALTER TABLE 数据表名 DROP 字段名
  • 删除数据表

    1
    DROP TABLE 数据表名

    同样可以使用IF EXISTS 来防止删除不存的数据表而报错,另外删除命令谨慎使用,数据表一旦删除,存放的数据也会消失。

  • 向表中插入数据

    有了完整的数据表,肯定要用来存放数据,下面命令可以向表中插入数据

    1
    INSERT 数据表名 (值1,值2,值3……)

    如果数据允许NULL,也可用只添加指定列

  • 查询表中已有的数据

    查询数据表中所有字段的数据,可以用*通配符来代替所有字段名

    1
    SELTCT * FROM 数据表名

    当然也可以只查询部分数据

    1
    SELECT {字段名1,字段名2……} FROM 数据表名

    甚至你可以设置查询条件,比如条件为某字段为特定值

    1
    SELECT * FROM 数据表名 WHERE 字段名 = 值;
  • 更新表中某一行的数据

    数据的增删查改,最后一个操作改也可以通过一下命令实现

    1
    UPDATE 数据表名 SET 字段名1 = 值1;

    删除数据:

    1
    DELECT FROM 数据表名;

    以上的命令都可以在后面加上WHERE条件表达式去操作一系列满足条件的数据。

常见数据类型(MySQL)

附上MySQL中常见的数据类型,图片来源于互联网仅做学习记录使用,侵权联系删除

  • 数值类型

    数值类型

  • 日期和时间类型

    日期和时间按类型

  • 字符串类型

    字符串

    写在最后

    以上就是这一个月学习数据库的部分笔记,新学的命令也许会很多,但大多数也只是几个表达改操作含义的单词的的组合,并不会想程序设计课和算法课需要去盘逻辑,总体来说数据库这门课还是比较简单,学起来也比较轻松,期待后续的学习,当然本系列博客会持续更新如果后续老师还布置相关作业的话

    本篇最后修改时间为第一版2022.03.26 22:24,后续会补充上实机演示截图(大概)

本文除相关资料来源于百度百科,数据类型图片来源于菜鸟教程其余全为原创,非商用转载请注明出处和作者,互联网因你规范分享而更加精彩!