Mysql的基础常识知识你都知道了吗?

举报
游离 发表于 2023/02/27 20:51:15 2023/02/27
【摘要】 MySQL的一些基本知识@[toc]MySQL是一种数据库软件,它是开源的,并且还是较为简单,适用的范围也叫广泛,所以接下来我将会讲解MySQL的一些基础操作知识 MySQL的学习方向SQL编程语言的语法(核心)数据库内部的一些原理使用Java代码操作数据库(JDBC)注:SQL是一种专门用于操作数据库的编程语言 MySQL的结构MySQL是一种 客户端-服务器 结构的程序首先要知道什么是...

MySQL的一些基本知识

@[toc]
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) 默认为1 M表示指定位数,范围是1到64
tinyint 1字节 相当于Java中的byte
smallint 2字节 相当于Java中的short
int 4字节 int
bigint 8字节 long
float 4字节 单精度,M指定长度,D指定小数点位数,会发生精度丢失
double 8字节 双精度
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) 可变长字符串 String char[]
text 长文本数据 String char[]
mediumtext 中等长度文本数据 String char[]
blob 二级制形式的长文本数据 byte[] char[]

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

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

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

日期类型

数据类型 大小
datetime 8字节
timestamp 4字节

数据表的操作

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

创建数据表

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

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

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

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

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

image-20220730102440065

image-20220730102452619

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

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

show tables;

查看指定表的结构

desc 数据表名;

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

image-20220730104530119

Field是字段的意思

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

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

删除表

drop table 表名;

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。