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;

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

创建数据库

create database 数据库名字;

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

create database if not exists 数据库名字; 

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

create database 数据库名字 character set utf8mb4;

使用数据库

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

use 数据库名;

删除数据库

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

drop database 名字

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

drop database if exists 名字;

对表的操作

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

创建表

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

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

查看数据库中的所有表

和查看所有数据库类似

show tables

查看表的结构

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

desc 表名;

注释

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

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

删除表

和删除数据库的操作相同

drop table 表名

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值