专栏简介 :MySql数据库从入门到进阶.
题目来源:leetcode,牛客,剑指offer.
创作目标:记录学习MySql学习历程
希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长.
学历代表过去,能力代表现在,学习能力代表未来!
文章目录
前言
本文主要介绍数据库基本知识及MySql基本操作,为之后的数据库进阶做好铺垫.
1.初识数据库
1.1 数据库概述
数据库: DateBase(DB)
概念:数据库是按照数据结构来组织.存储和管理数据的仓库.
作用:储存数据 管理数据.
存储介质: 硬盘 内存
随着科技的不断发展, 日常生活中涉及到数据库的场景数不胜数, 例如我们每天早晨查看余额宝收益就是数据库在后台为我们读取数据.
**传统数据存储与数据库的区别: **过去我们使用Excel等多种文件保存数据感觉也很便捷那么为什么要使用数据库呢?
因为数据库中可以存放海量信息,允许多人共同使用数据且安全性高.通俗来讲, 如果Excel是移动硬盘那么数据库就是网盘.
文件保存有以下几个缺点:
- 文件安全性问题.
- 文件不利于查询和管理.
- 文件不利于存储海量数据.
- 文件在程序中控制不方便.
1.2 数据库分类
关系型数据库 SQL(Structure Qury Language )
- MySql, Oracle, Sql Sever, DB2 ,SQLite
- 关系数据库每个表由一个名字标识, 每个表包含带有列名的列, 和记录数据的行.
- 主键是数据库中重要的概念,用来标识数据的唯一性.
非关系型数据库 NO SQL(Not Only SQL)
- Redis ,MongoDB
- 数据以对象的形式存储在数据库中,而对象之间的关系由每个对象的属性来决定.
1.3 数据库是如何存放数据的
数据库有很多种类, 日常使用中涉及最宽泛的就是关系型数据库.
关系型数据库由多个表组成, 类似于Excel, Excel就是由一张一张的二维表组成, 每张表都由行和列组成. 不同的是关系型数据库中每个表都是有联系的.
关系型数据库 = 每张表+各个表之间的联系.
因此学习关系型数据库我们需要重点掌握的两点:
- 多张表中每一张表的结构
- 个表之间的联系.
1.4 什么是SQL
数据库中存放着数据, SQL就是用来操作数据库中数据的工具.
就好比挖米饭, 数据库中的数据就是米, 想要把米挖出来需要使用勺子, 而SQL就是勺子.
现在我们就可以简单明白支付宝的工作原理了, 用户存入的钱相当于数据库中的数据, 用户对钱的操作相当于使用SQL来操作数据, 只不过这个过程用户看不到都是在支付宝后台来完成, 用户只能看到查询结果.
2.常用数据类型
2.1 数值型
数据类型大小说明****对应java类型bit(M)
M指定位数
默认为1
二进制数 M范围1-64
存储数值范围 0-2^M-1
Booleantinyint1字节十分小的数据bytesmallint2字节较小的数据shortint4字节标准的整数Integerbigint8字节较大的数据Longfloat(M,D)4字节
单精度浮点数 M指定长度
D指定小数位数 (会发生精度丢失)
Floatdouble(M,D)8字节双精度浮点数Doubledecimal(M,D)M/D最大值+2双精度 (精确数值)BigDecimalnumeric(M,D)M/D最大值+2和decimal一样BigDecimal
2.2 字符串类型
数据类型大小说明对应java类型varchar(size)0-65535 字节可变长字符串Stringtext0-65535 字节长文本数据Stringmediumtext
0-16 777 215 字节
中等长度文本数据Stringblob0-65535 字节二进制形式的长文本数据String
2.3 日期类型
数据类型大小说明对应java类型timestamp4 字节
范围 1970-2038 年
自动检索当前时区并转换
java.util.Date
java.sql.Timestamp
datetime8 字节
范围 1000-9999 年
不会进行时区的检索和转换
java.util.Date
java.sql.Timestamp
2.4 NULL
- 没有值,未知
- 不要使用null进行计算
3.数据库基本操作
3.1操作数据库
** 1.创建数据库**
create database 数据库名;
** 2.删除数据库**
drop database 数据库名;
3.使用数据库
use 数据库名;
4.查看数据库
show databases;
3.2 操作表
操作表之前需要先使用该数据库
use 数据库名;
1. 创建表
create table 表名(数据名 数据类型,数据名 数据类型......)
2. 查看表的结构
Tips: 该操作只能查看表的结构, 不能查看表中数据.
desc tables;
3. 查看表的个数
show tables;
4. 删除表
drop table 表名
版权归原作者 Node_Hao 所有, 如有侵权,请联系我们删除。