• MySQL——基础知识


    接下来的几篇博客将介绍MySQL的基础知识和相关使用方法,然后再回到Java,介绍JavaEE的知识

    什么是数据库

    受硬件的技术影响,我们不可能将所有的文件存储在计算机的内存中。并且,我们还需要考虑存储的安全问题,存储数据的增删查找的效率问题等。而数据库是用来管理海量数据的一款软件

    数据库的分类

    关系型数据库

    由关系模型(二维表格模型)来组织数据,常见的实现关系型数据库的软件有

    1. Oracle
    2. MySQL
    3. SQL Server
      使用了SQL,支持事务,也支持复杂操作,对于海量数据的增删查改的效率低,基本的结构类似exile表格,用于业务方面的OLTP系统(联机事务处理)

    非关系型数据库

    没有关系,可分为如下类别:

    1. 基于键值对的
    2. 基于文档的
    3. 基于列族的
    4. 基于图形的
      不支持事务和复杂操作,对海量数据增删查改的效率低,用于数据的缓存

    SQL的分类

    1. 维护存储数据的结构
      例如:create,drop,alter
    2. 对数据进行操作的关键字
      例如:insert,update,delete
    3. 关于权限管理和事务的关键字
      例如:grant,revoke,commit

    MySQL中的数据类型

    数据类型大小对应JAVA中的类型
    bit(1-64)指定的位数,默认是1boolean
    tinyint1byte
    smallint2short
    int4int
    bigint8long
    float(长度,位数)4float
    double(长度,位数)8double
    decimal(长度,位数)长度和位数最大值加2bigdecimal
    numeric(长度,位数)长度和位数最大值加2bigdecimal
    varchar(长度)0-65536String
    text0-65535String
    mediumtext0-16777215String
    blob0-65535byte[]
    datetime8java.util.Date,java.sql.Timestamp
    timestamp4java.util.Date,java.sql.Timestamp

    需要注意的是,MySQL中支持unsigned,也就是无符号数,但是并不支持,因为也许会引发bug

    对数据库的操作

    需要注意的是,MySQL中的代码不区分大小写,我个人更倾向于小写,而和其他的编程语言一样,在每个代码的结束都有;

    显示数据库

    show databases;
    
    • 1

    可以显示当前用户底下有哪些数据库

    创建数据库

    create database 数据库名字;
    
    • 1

    由于不能创建同名的数据库,我们用以下语法可以进行判定系统中有没有我们要创建的数据库,如果没有就创建

    create database if not exists 数据库名字; 
    
    • 1

    在之前的博客中讲到不同的语言有不同的编码字符集,而不同的字符集对各种语言的支持不一样,例如ascii码不支持中文,而我们可以在创建数据库时指定要使用的字符集

    create database 数据库名字 character set utf8mb4;
    
    • 1

    使用数据库

    我们只能对单一的数据库进行操作,在相关代码执行前,应该先选中我们要使用的数据库

    use 数据库名;
    
    • 1

    删除数据库

    ⚠️ 这是一个非常危险的操作,网上报道过程序员删库跑路被判刑的相关新闻,因此在公司中操作一定要小心谨慎

    drop database 名字
    
    • 1

    和创建数据库一样,我们也可以判定一下要删除的数据库存不存在

    drop database if exists 名字;
    
    • 1

    对表的操作

    有了数据库,我们就可以选中数据库,在其中创建表

    创建表

    需要注意的是,MySQL和C,java不同,数据的类型要放到内容的后面

    create table 表名字(表头1 类型,表头2 类型....;
    
    • 1

    查看数据库中的所有表

    和查看所有数据库类似

    show tables
    • 1

    查看表的结构

    我们可以通过如下代码查看表的表头名,类型,是否允许为空,索引类型,默认值,扩充

    desc 表名;
    
    • 1

    注释

    我们可以用comment给表中增加字段说明

    create table 表名字(表头1 类型 commit xxx,表头2 类型....;
    
    • 1

    删除表

    和删除数据库的操作相同

    drop table 表名
    
    • 1

    也同样可以进行if exists的操作

  • 相关阅读:
    构造shiro poc
    利用Openssl写一个简陋的https劫持
    极客大赛的碎碎念
    30.【十进制和二进制的相互转化(超详解)】
    gpt不能发送信息了?
    Python深度学习实战:Keras与高级多层感知器——用序列化保存模型
    Mybatis的mapper.xml批量插入、修改sql
    MarqueeView - 跑马灯
    matlab-day05
    0095 贪心算法,普利姆算法
  • 原文地址:https://blog.csdn.net/m0_60867520/article/details/126041878