MySQL总结

MySQL概述

什么是数据库?

存储数据

JavaSE存数据的方式:

1、使用集合存储数据,缺点:程序一旦重启,数据全部清空,无法做到持久化

2、XML文件同样可以保存数据,缺点:存取起来非常麻烦

<bean>
    <id>1</id>
</bean>

3、使用IO流将数据存储到硬盘中,txt文件、world,缺点:数据之间没有结构化的关联关系

以上都只能做到暂时存储

如何解决这个问题,业务数据永久保存且方便存取、结构有序?

数据库来解决这个问题

数据库是一种专门的软件(服务),用来管理要存储的数据,这些数据按照特定的格式进行存储,通过数据库服务可以非常方便地对数据进行增删改查的操作,提升了数据管理的效率

这就是数据库管理系统:Database Management System 简称DBMS

Database就是一个存储数据的仓库

什么是MySQL?

MySQL是目前主流的数据库产品

MySQL的优势:

  • 免费
  • 开源
  • 跨平台
  • 速度快

CRUD:Creat 增、Read 删、Update 改、Delete 查

学习数据库需要掌握两部分内容

1、掌握数据库的使用,根据业务对数据完成增删改查操作

2、设计数据库,根据项目的需求,设计数据表之间的关联关系(高级)

MySQL的使用

1、通过命令行的方式进行操作

mysql -uroot -proot

MySQL是一个服务,在服务可以创建很多个数据库,在数据库中创建数据表,在数据表中存储数据

类似Excel表格

选择数据库

use test;

查询数据表

select * from user;

2、使用可视化管理工具操作数据库

DataGrip,更加方便地管理数据库

数据库的存储引擎

存储引擎:就是如何存储数据、如何建立索引、如何更新、查询数据等技术地具体实现,也可以称为是表的类型。

MySQL支持多种存储引擎,默认是InnoDB

show engines;

MySQL默认使用InnoDB存储引擎,InnoDB对于事务的处理能力非常强大,同时还支持主键自增,支持外键。

SQL分类

SQL也是一种编程语言,专门用来处理数据的

DML数据操作语言,操作数据库中存储的数据(insert、update、delete)

DDL数据定义语言,创建、删除、修改数据库、数据表(create、drop、aler)

DQL数据查询语言,查询数据库,查询数据库(select)

DCL数据控制语言,用来控制数据库组建的存取(事务commit、rollback)

创建数据库

create database 数据库名称 default character set utf8 collate utf8_general_ci;

collate设置数据库的校验字符集,是指当我们对某个字符串类型的数据进行排序查询的时候,数据排序的方式,如何比较两个字符串值的大小关系。

utf8_general_ci; 不区分大小写

utf8_bin; 区分大小写 按照ASCII码进行排序(如:B:66 b:77)

MySQL数据类型

MySQL支持的数据类型

整数类型

数据类型 大小 描述
tinyint 1 byte 非常小的整数
smallint 2 byte 小的整数
mediumint 3 byte 中等大小的整数
int 4 byte 标准的整数
bigint 8 byte 大整数

小数类型

浮点型、定点型

数据类型 大小 描述
float 4 byte 单精度浮点型
double 8 byte 双精度浮点型

float(M,D)

double(M,D)

M表示该小数最多需要的十进制有效数字个数(含小数点后)

D表示该小数小数点后的十进制数字个数

为了确保小数是精确的,MySQL还提供了定点型数据类型,decimal

日期和时间类型

数据类型 大小 描述
year 1 byte 表示年份值
time 3 byte 表示时间值
date 3 byte 表示日期值
datetime 8 byte 日期+时间值
timestamp 4 byte 1970-01-01 00:00:01到现在的毫秒数

字符串类型

数据类型 大小 描述
char(M) M个字符 固定长度的字符串
varchar(M) M个字符 可变长度的字符串
tinytext 2^8-1 byte 非常小的字符串
text 2^16-1 byte 小型字符串
mediumtext 2^24-1 byte 中等大小的字符串
longtext 2^32-1 byte 大型的字符串

二进制类型

数据类型 大小 描述
bit(M) M位二进制数据 小的二进制数据
binary(M) M byte 普通的二进制数据
varbinary(M) 0~M的可变长二进制 普通的二进制数据
tinyblob 0~255 byte 大的二进制数据
blob 0~2^16-1 byte 大的二进制数据
mediumblob 0~2^24-1 byte 大的二进制数据
longblob 0~2^32-1 byte 大的二进制数据

管理数据库

创建数据库(上面已有)

删除数据库

drop database 数据库名称;

查看数据库

show databases;

选择数据库

use 数据库名称;

在创建数据表之前一定要先选择一个数据库,给指定的数据库中创建数据表

管理数据表

服务–》创建数据库–》创建数据表–》完成数据的CRDU

create table 数据表名称(
  //列信息
  字段名称 数据类型 是否为主键/是否可以为空/默认值
);

创建数据表

create table student(
    id int,
    name varchar(11),
    age int
);

修改数据表

修改数据表的结构,也就是修改字段

1、新增字段

alter table 数据表名称 add 字段名称 数据类型;

2、修改字段

alter table 数据表名称 change 旧字段名称 新字段名称 数据类型

3、给字段设置默认值

alter table course alter column id set default 1;

4、删除字段

alter table 数据表名称 drop 字段名称

删除数据表

drop table 数据表名称;

查看数据表

show tables;

查看数据表结构

desc 数据表名称;

在这里插入图片描述

数据管理

增删改查

CRUD create、read、update、delete

insert into 数据表(字段列表) values(值列表)
insert into student(id, name, age) VALUES (1,'张三',20)

同时添加多条记录

insert into student(id
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值