初识 MySQL 数据库

引言

数据库是一类软件,它是用来管理数据的软件,往往是把数据存储在硬盘上(持久化存储)。用户可以很方便地实现增删查改功能。

数据库软件的典型代表:MySQL,Oracle,SQL Server

一、MySQL 数据库

MySQL 是一个客户端 — 服务器软件,在控制台上输入任何一个命令,本质上都是通过网络的方式,和服务器进行了交互。

客户端:主动发起请求的一方
服务器:被动接受请求的一方
请求:客户端给服务器发送的数据
响应:服务器给客户端返回的数据

1-1

二、MySQL 服务器的结构

MySQL 服务器中有放着很多数据库,一个数据库中又可以放着很多数据表,这就像套娃一样。而数据表的结构,非常类似于 Excel 表格。

图解分析:

1-2

三、数据库行和列的概念

首先,MySQL、Oracle,SQL Server 都是关系型数据库,它们都是由行和列构成的。

一行的数据就叫做 " 记录 ";一列的数据就叫做 " 字段 " 。

1-3

我们可以联想到 Excel 表格,
每一行的内容是不同属性的,每一列的内容是相同属性的。

1-4

四、SQL 语句

SQL 语句就是对数据库进行操作的一种语言。

语法注意事项:

① 在 SQL 中,不区分字母大小写,但建议使用小写,这主要是为了屏蔽不同系统 (Windows, Linux)所带来的差异化。

② SQL 中的字符串是用单引号包起来的,而不是双引号。

③ 如果我们创建的字段名与数据库中的关键字重名了,就需要为字段名用 ` 号括起来。(英文模式下,键盘上 Esc 正下方的键)

五、数据库操作

此处所提到的数据库,指的是一些逻辑上的数据集合,一个 MySQL 服务器上可以同时管理多组这样的数据集合。

1. 显示数据库

show databases;

2. 创建数据库

数据库的名字不能是 关键字
数据库的名字不能是 已存在的数据库名

create database 数据库名;

3. 选中数据库

use 数据库名;

4. 删除数据库

drop database 数据库名;

把数据库删除掉,这个操作十分危险,因为一旦执行成功后,此时数据大概率就恢复不回来了。以后在公司中,千万不要使用 drop database !!!

六、数据表操作

进行表操作之前,一定要先使用 use 选中当前表所在的数据库,因为针对于某张表操作,实际上这张表是在某个数据库中。

1. 创建表

create table 表名(列名 类型, 列名 类型......);

2. 查看表

show tables;

3. 查看表结构

查看某个表里面有几列,每一列都是什么类型,每一列都是什么名字,每一列其他的补充信息。desc 针对的是数据库中存储的表,而不能针对 select 所查询的临时表。

desc 的意思为:describe (描述)

desc 表名;

4. 删除表

drop table 表名;

删除表也是一个非常危险的操作,因为一旦执行成功后,此时数据大概率就恢复不回来了 !!!

七、注释

方式一:

-- 
相当于 Java 中的 //

方式二:

commit 

八、常用的 cmd 指令

复制:选中语句 + Enter

粘贴:Ctrl + v

中断当前的输入,并另起一行重新输入:Ctrl + c

重复使用上一个命令:上下方向键

九、MySQL 数据类型和关键字

1. MySQL 所有的数据类型:

数据类型举例
整数类型TINYINT、SMALLINT、 MEDIUMINT、 INT(或INTEGER)、 BIGINT
浮点数类型FLOAT、DOUBLE
定点数类型DECIMAL
位类型BIT
时间类型YEAR、TIME、 DATE、 TIMESTAMP、DATETIME
文本字符串类型CHAR、VARCHAR、 TINYTEXT、 TEXT、 MEDIUMTEXT、 LONGTEXT
枚举类型ENUM
集合类型SET
二进制字符串类BINARY、VARBINARY、 TINYBLOB、 BLOB、 MEDIUMBLOB、 LONGBLOB
JSON类型JSON对象、JSON数组
空间数据类型单值类型:GEOMETRY、POINT、LINESTRING、POLYGON:
集合类型:MULTIPOINT、 MULTILINE ST RING、MULTIPOLYGON、GEOMETRYCOLLECTION

2. 常用的数据类型

① 整数类型:(最长用 INT)

整数类型字节有符号数取值范围无符号数取值范围
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32768 ~ 327670 ~ 65535
MEDIUMINT3-8388608 ~ 83886070 ~ 16777215
INT、INTEGER4
BIGINT8

② 浮点数类型:

浮点数类型字节精度
FLOAT4单精度
DOUBLE8双精度

MySQL 的浮点数支持如下语法:

FLOAT(M,D) 或 DOUBLE(M,D)
在这里,M 称为精度 ,D 称为标度 。( M 表示整数位+小数位,D 表示小数位 )

③ 定点数类型:

DECIMAL(M,D) // M 称为精度 ,D 称为标度,它可以精确数值

定点数可以精确数值,常用于精度要求较高的场合,如果在代码中用到了 " 钱 " 的计算场合,或者测距等变量,可以使用 DECIMAL.

④ 时间类型:(最长用 DATETIME)

类型名称字节日期格式
YEAR1YYYY
TIME时间3HH: MM: SS
DATE日期3YYYY - MM - DD
TIMESTAMP日期时间4YYYY - MM - DD HH: MM: SS
DATETIME日期时间8YYYY - MM - DD HH: MM: SS

⑤ 文本字符串类型:

常用 varchar 指定 size,若文本数据过大,可以考虑 TEXT 之上.

文本字符串类型字节大小
CHAR(SIZE)0 ~ 255
VARCHAR(SIZE)0 ~ 65535
TINYTEXT0 ~ 255
TEXT0 ~ 65535
MEDIUMTEXT0 ~ 16777215
LONGTEXT0 ~ 4294967295

3. MySQL 关键字

MySQL关键字含义
NULL数据列可包含 NULL 值
NOT NULL数据列不允许包含 NULL 值
DEFAULT默认值
PRIMARY KEY主键
AUTO_ INCREMENT自动递增,适用于整数类型
UNSIGNED无符号
CHARACTER SET name指定一个字符集

十、常用的数据类型

int:整型,4字节

double:浮点型,8字节

varchar(SIZE):字符串类型,0 - 65,535字节,字符串的最大长度

LONGTEXT:用于长文本字符串

datetime:日期类型,8字节

在上述的 varchar(SIZE) 中的 SIZE,在学习中,可以随意写,而在工作中,就不能乱写了,一般情况下,像这种字符串的长度,都会有明确规定,(最长多少 / 最短多少),一般由产品经理规定。

十一、基础的实用案例

在 test2 表中创建一张 student 表。

SQL 语句可以先在 IDEA 编辑器编写之后,再复制到数据库中,这样做便于我们修改和观察。

-- 如果存在数据库则不创建
create database if not exists test2;

-- 选择 test2 数据库
use test2;

-- 如果存在 student 表,就理解删除
drop table if exists student;

-- 重新创建一张 student 表,并同时创建三个字段
create table student(
    id int primary key auto_increment,
    name varchar(20),
    total_score int
);

-- 插入数据
insert into student values(null, '李明', '285');
insert into student values(null, '莉莉', '290');
insert into student values(null, '小红', '280');

1-5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十七ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值