一学就会的帮助同学们快速理解的MySQL入门教程(基础篇)

一学就会的帮助同学们快速理解的MySQL入门教程(基础篇)

焦虑烧麦 147 2022-09-19

写在前面

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 Relational Database Management System 即关系数据库管理系统简称RDBMS。

RDBMS 术语

  • 数据库:一些有关联的表的集合
  • 数据表:简单理解为Excel表格
  • 列:一列(数据元素),是一组相同类型的数据,比如:新建了一个姓名列,则这一列存放的都是姓名。
  • 行:一行(又称 元组 或 记录)是一组相关的数据。
  • 主键:是唯一的且一个数据表中只能包含一个主键。
  • 外键:用来关联两个表。
  • 索引:可以用来快速访问数据库中的特定信息;是对数据库表中列的值进行排序的一种结构;简单理解为书的目录,通过目录快速定位到指定内容。

image

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

它是由瑞典 MySQL AB 公司开发,目前属于 Oracle(甲骨文) 公司。在学习MySQL之前你需要知道:

  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 是开源的。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C/C++、Python、Java、PHP 等。
  • MySQL 是可以自定义SQL语句的,可以通过修改源码开发属于自己的 MySQL 系统。

安装

参考这篇文章 点击查看安装教程(👈会花点时间)
安装教程视频版

正确安装MySQL后,在Win+R键输入CMD进入终端输入

mysql -u root -p

2022-09-19_202456
输入密码进入MySQL
2022-09-19_202614
出现以上界面则说明安装成功!

数据库的简单操作

注意MySQL语句的结束符号为英文的 ; 一定要是英文的

查询数据库

show databases;

此语句的意思是显示现在的数据库中一共有那些数据库;
下图就是我电脑中的数据库,有些没有是因为我之前创建过许多数据库了,不是一模一样的很正常。
1-1663592313468

创建数据库

语句:

create database 数据库名;

例如:创建一个名为物联网工程2班的数据库

create

出现 Querty OK 则创建数据库成功;
————————————————————————————————————

此时再次使用 show databases 查询的话,就会出现刚才创建的数据库。

注意:如果创建了重复的数据库会出现以下报错;

ERROR 1007 (HY000): Can't create database '物联网工程2班'; database exists

以上报错信息意思是 不能创建名为“物联网工程2班”数据库;因为已经存在这个数据库了;

————————————————————————————————————

在创建数据库时我们可以进行一下判断;判断要创建的数据库 是否 已经存在;
SQL语句👇

create database if not exists 数据库名; 

这样可以避免报错,但是会有一条警告信息;

显示数据库的信息&操作

show create database 数据库名;

sc
————————————————————————————————————

删除数据库SQL语句

drop database 数据库名;

drop
————————————————————————————————————

更改数据库字符集的SQL语句

alter database 数据库名 character set utf8;

al
————————————————————————————————————

选择要使用哪个数据库的SQL语句

use 物联网工程2班;

use
————————————————————————————————————

MySQL中的数据类型

MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

由于篇幅原因可以前往此处查看详细的解释:数据类型详解

创建和操作数据表

创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

数据表命名应遵循以下原则:

  • 长度最好不超过30个字符;
  • 多个单词之间用下划线 “_” 分割,不允许空格;
  • 不允许使用MySQL关键作为表明;
  • 同一数据库中不能存在相同名称的数据表

例:我们创建一个表名为goods的数据表并使用以下结构;

字段 数据类型 约束 说明
goods_id int(11) 主键,自增 商品id
goods_type varchar(30) 非空 商品类别
goods_name varchar(30) 唯一 商品名称
goods_price decimal(7,2) 无符号 商品价格
goods_num int(11) 默认值为0 商品库存
goods_time datatime 入库时间

创建:

CREATE TABLE goods (
	goods_id INT ( 11 ) PRIMARY KEY AUTO_INCREMENT,
	goods_type VARCHAR ( 30 ) NOT NULL,
	goods_name VARCHAR ( 30 ) UNIQUE,
	goods_price DECIMAL ( 7, 2 ) UNSIGNED,
	goods_num INT ( 11 ) DEFAULT ( 0 ),
        goods_time DATETIME 
) ENGINE = INNODB DEFAULT CHARSET = utf8;
  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

删除

删除MySQL数据表的通用语法:

DROP TABLE table_name ;

查看表结构

在向表中添加数据之前,一般需要先查看表结构;
MySQL中查看表结构的语句包括 DESCRIBE 和 SHOW CREATE TABLE

例:我们想查看刚才创建的goods表的表结构

DESCRIBE goods;

SHOW CREATE TABLE goods;

修改数据表

当系统需求变更或设计之初考虑不周全等情况发生时,就需要对表的结构进行修改。修改表包括修改表名、修改字段名、修改字段数据类型、修改字段的排列位置、加字段、删除字段、修改表的存储引擎和字符集等。

修改表名

修改表名语法格式如下:

ALTER TABLE 原表名 RENAME [TO] 新表名;

例:修改goods表名为product

ALTER TABLE goods RENAME TO product;

修改字段

修改字段的排列位置

添加字段

删除字段

修改表的存储引擎和字符集

复制数据表

在 MySQL 中,表的复制操作包括复制表结构和复制表中的数据。复制操作可以在同一个数据库中执行,也可以跨数据库实现。

复制表结构及数据

复制表结构

复制表的部分字段及数据