MySQL学习(2)-基本概念、数据类型和简单语句

2022-09-23 09:37:24

0. 前言

上一篇文章讲了MySQL在Windows平台的安装与简单测试,先体验一下使用MySQL的乐趣,以激发继续学习的兴趣。

但净顾着上手操作体验快感了,基本上没管什么细节。本文开始从使用角度去快速理解MySQL,争取尽快把握其本质~

本文主要讲了MySQL的数据库–>表格–>属性的存储结构,介绍了MySQL的数据类型,以及对于数据库和表格的创建、删除等语句。


1. MySQL是什么

1.1 有关名词

首先需要了解几个名词:数据库(DataBase, DB)、数据库管理系统(DataBase Management System, DBMS)、SQL(Structured Query Language)。

  • 数据库:按照一定规则存放数据的文件库,其表现形式甚至可以是一个txt,但一般都不这么干;
  • 数据库管理系统:决定怎么存数据,以及提供接口对数据进行增删改查的软件系统;比如MySQL就是一个数据库管理系统,类似还有Oracle,Accessk等;人们也比较习惯在很多场合用数据库指代DBMS;
  • SQL:结构化查询语言,只是一门语言,和C、Python等的概念是一样的,只不过它被用在数据库接口中了。

所以MySQL是一个数据库管理系统,它提供了数据存储、管理的方法,采用SQL语言能实现数据管理。

1.2 MySQL数据存储结构

另外,需要从使用角度稍微了解一下MySQL的存储结构。

MySQL作为一种关系型数据库,是基于表结构(table)来管理数据的,一般行表示条目,列表示属性,如下图:
在这里插入图片描述

多数场合人们会将称为数据库记录(record)

这个表结构与结构体数组的模式不能说基本一样,只能说完全一致。

在各种属性中,还有一个主键(primary key) 概念,它被用于作为某一行的唯一标识。如果没有主键,无法区分所有属性都一样的记录了。

表(table) 之上,还有一个数据库(database) 的概念,用来存放各种表。这可以根据表内容对其进行分类

小结一下,在MySQL中:

  • 规定一条记录的各种属性;
  • 主键是每条记录的唯一标识;
  • 数据库中可以存放很多表,但不允许同名表;

2. MySQL操作

在使用SQL语言操作MySQL时,指令语句是不区分大小写的,但一般习惯使用大写来标识关键字。如show databases;语句,以下写法都能识别,但似乎更推荐SHOW DATABASES;

show databases;
Show DataBases;
sHOw daTaBaSes;
SHOW DATABASES;

  • 在连接上到服务器后,使用HELP SHOW命令可以查看SHOW的帮助文档,如下图,帮助文档中name提供的是全大写格式
  • 当我们对于某个语句记忆不清时,墙裂推荐HELP XXX语句查询用法。
    SHOW关键字

2.1 数据库操作

在MySQL中数据库的关键字为DATABASEDATABASES,在连接上MySQL服务器后,对数据库主要可采取的操作有:

  • 显示所有数据库:SHOW DATABASES;
  • 使用某个数据库:USE db_name;db_name为某个数据库的名称;
  • 创建数据库:CREATE DATABASE db_name;
  • 删除数据库:DROP DATABASE db_name;

2.2 表操作

2.2.1 数据类型

在了解表操作之前,先需要了解MySQL中的数据类型,因为表格中的每种属性都需要指定数据类型。

MySQL数据类型主要有文本、数值、日期 3种。

  • 文本类: 首先需要了解定长串变长串的概念,前者使用的存储空间确定,后者不确定,类似于整型数组与整型vector的区别。另外,MySQL在处理定长串时效率更高

此处贴出《MySQL必知必会》中关于串数据类型的表格:
在这里插入图片描述

  • 数值类: 需要了解数值类默认为有符号数,但可使用UNSIGNED 关键字表明为无符号数,这与C++基本一致。

此处贴上《MySQL必知必会》中关于数值类型的表格:
在这里插入图片描述

  • 日期类: 专门用于存储日期和时间,除了YEAR类型外,需要用引号'将日期或时间类型起来

此处贴上《MySQL必知必会》中的关于日期类型的表格:
在这里插入图片描述

2.2.2 基本语句

  • USE db_name;后显示所有表格:SHOW TABLES;
  • 创建表:
CREATE TABLE tbl_name( col_name data_type, col_name data_type, ...);
  • 用户自定义数据库名、表名等,推荐使用下划线命名法,因为MySQL将自定义的数据库名和表名均储存成小写了;
  • 表的属性名可以使用驼峰命名法,MySQL保留属性名的大小写区分。
    在这里插入图片描述
  • 删除表:DROP TABLE tbl_name;
  • 显示某个表的所有列:SHOW COLUMNS FROM tbl_name;

3. 小结

本文的内容相对较多一些,小结如下:

  1. MySQL是一种DBMS(数据库管理系统);
  2. MySQL服务器中可以存储很多数据库,每个数据库中可以存储很多表格,每个表格中可以存储很多属性
  3. 数据库名表格名建议使用下划线命名法属性名可以采用驼峰命名法
  4. 创建的关键字是CREATE,后面可接TABLEDATABASE用于创建表格或是数据库;删除的关键字是DROP
  5. 在操作表格之前,别忘了先使用USE db_name;语句选择一个数据库
  6. 如果忘了某个语句的具体用法,可以放心地使用HELP指令;
  7. MySQL的数据类型主要有3种:文本型、数值型、日期型

如有错误欢迎指正,共同进步~


今天你学废了吗?

  • 作者:Copperxcx
  • 原文链接:https://blog.csdn.net/Copperxcx/article/details/121770795
    更新时间:2022-09-23 09:37:24