MySQL最基本的常识

MySQL的一些基本知识


MySQL是一种数据库软件,它是开源的,并且还是较为简单,适用的范围也叫广泛,所以接下来我将会讲解MySQL的一些基础操作知识

MySQL的学习方向

  1. SQL编程语言的语法(核心)
  2. 数据库内部的一些原理
  3. 使用Java代码操作数据库(JDBC)

注:SQL是一种专门用于操作数据库的编程语言

MySQL的结构

MySQL是一种 客户端-服务器 结构的程序

首先要知道什么是客户端 ,什么是服务器

举个例子:假设我现在去买水喝,我走进超市,想老板说,要一瓶可乐,老板机会给我一瓶可乐

我就相当于客户端 老板就相当于服务器

我向老板要一瓶可乐 : 向服务器发送的数据叫做请求 Request

老板给我拿了一瓶可乐 : 服务器 给 客户端返回的数据叫做 响应 Response

数据库在客户端中进行的任意操作,都会通过网络传输给服务器进行处理,即便客户端 和 服务器在同一个主机上,也都是通过网络进行传输

电脑的组成

服务器也是一种电脑,这里有必要知道电脑的几个主要的组成部分

电脑的组成:

1.CPU(中央处理器)—电脑的大脑

2.存储区(分为 内存 和外存 )

​ 内存就是RAM,就会我们一般指的内存

​ 外存包括硬盘 U盘 磁盘 软盘…

内存与外存的区别

内存外存
存储空间
访问速度
成本较低
存储数据时间数据易丢失(断电就没有了)数据不易丢失(断电数据也不会消失)

补充:CPU只能直接访问内存,外存的东西要先到内存中,CPU才能处理

所以, 数据库上的数据就会存储在外存上面

原因:

1.外存的数据能够"持久化"保存

2.外存的存储空间会更加大一点 , 利于数据库数据的存储

但是也不是所有的数据库都是"外存数据库" ,Redis就是"内存数据库",换来的好处就是存储数据的速度会更加的快

一个数据库服务器上面可以管理很多的数据集合,每一个数据集合就可以成为一个数据库

image-20220729095328611

关系型数据库(数据存储在一个或者多个有行和列构成的表中)

数据库服务器 => 包含了很多的数据库 => 包含了很多的数据表 => 包含了很多行 (记录)

=> 包含了很多的列(字段)

关系型数据库主要有:MySQL Oracle SQL Server SQLite

对于非关系型数据库来说,组织数据的形式会更加的灵活,通常是按照"文档" 或者 “键值对” 的方式进行存储的

MySQL的具体操作

命令行小技巧:

  1. 使用上下键,可以查看上一条或者下一条语句
  2. 使用ctrl + c 可以终止当前操作 或者输入

接下来介绍SQL语言

查看数据库

show databases;

注意点:

  1. show 和 databases 之间至少有一个空格
  2. databases 是复数 (因为我是要查看所有的数据库)
  3. 结尾有一个英文分号
  4. SQL语句不区分大小写

创建数据库

create database 数据库名;

image-20220729105703360

不能创建含有关键字的数据库,否则就会报错

但是,如果一定要创建一个以关键字为命名的数据库,可以加上反引号``,就可以创建成功

image-20220729105917612

有时候创建数据库会因为同名而报错,为了防止这种情况出现,可以用create if not exists 数据库名;

选中数据库(选中之后要操作的数据库)

use 数据库名;

删除数据

drop 数据库名;

需要注意的是,删库是十分危险的事情,绝对不要轻易操作!

SQL的数据类型

SQL的数据类型主要包括数值类型 字符串类型 日期类型

数据类型

分为整数类型 和 分数类型

数据类型大小说明
bit (M)默认为1M表示指定位数,范围是1到64
tinyint1字节相当于Java中的byte
smallint2字节相当于Java中的short
int4字节int
bigint8字节long
float4字节单精度,M指定长度,D指定小数点位数,会发生精度丢失
double8字节双精度
decimal(M,D) [ˈdesɪml]M/D最大值+2不会发生精度丢失
numerci(M,D)M/D最大值+2和decimal一样

float double 是遵守IEEE754标准的浮点数,精度不准

decimal 和 numerci 类似于字符串这种变长空间存储,优点就是精度变高,误差小了

但是缺点就是计算效率减低,存储空间变大了

对于整型类型的范围:

  1. 有符号范围:-2^ (类型字节数* 8-1)到 2^(类型字节数*8-1)-1,如int是4字节,就
    是-2^31到 2^31-1
  2. 无符号范围:0到2^ (类型字节数*8)-1,如int就是2^32-1

字符串类型

数据类型说明对应 Java类型对应C类型
varchar (size)可变长字符串Stringchar[]
text长文本数据Stringchar[]
mediumtext中等长度文本数据Stringchar[]
blob二级制形式的长文本数据byte[]char[]

varchar(size) size表示字符串之中最多能有几个字符, varchar 括号里面的size是一定要写的

常见的文件数据:.txt .java .c .html 都是文本文件

常见的二进制数据:.docx .xlsx ppt exe dll png mp4 都是二级制文件

日期类型

数据类型大小
datetime8字节
timestamp4字节

数据表的操作

在进行数据表的操作的时候,要先选中数据库(use 数据库名)

创建数据表

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

主要:这里是列名在前,类型在后

创建表的时候,同一个数据库中不能有同名的表

创建表的时候,要确保表名不能和关键字重复

要是一定要重复,就用反引号引起来

image-20220730102440065

image-20220730102452619

创建的时候既可以一行去写,也可以分成多行去写

查看当前数据库中有哪些表

show tables;

查看指定表的结构

desc 数据表名;

此处的desc 就是 describe描述的意思

image-20220730104530119

Field是字段的意思

int(11)这里的11与存储无关,11指的是打印的时候整数最多占11个空格的位置,只是一种打印的格式

NULL列 的意思是允许这一列什么都不填

删除表

drop table 表名;

以上就是关于MySQL的最基本的操作,如有错误,欢迎各位指正!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值