• 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的最基本的操作,如有错误,欢迎各位指正!

  • 相关阅读:
    风格迁移篇---重用鉴别器进行编码:朝向无监督的图像到图像转换
    Pytorch或Tensorflow 深度学习库安装 (简易版)
    使用宝塔面板部署商城项目到云服务器的案例
    OpenCV-Python常用操作
    华为奔赴“空间智能”,全屋智能的逻辑变了吗?
    IOS屏幕旋转监听
    这一年我们上线的运维自动化系统
    基于Java的大学生救援队网站
    Python编程语言学习:shap.force_plot函数的源码解读之详细攻略
    信息系统项目管理师---第十五、十六章 知识管理及项目变更管理历年考题
  • 原文地址:https://blog.csdn.net/m0_60354608/article/details/126750136