MySQL数据库基础

目录

  • 数据库概念
  • 内存和外存的区别
  • 一、数据库基本操作
    • 1.1 显示当前的数据库
    • 1.2 创建数据库
    • 1.3 使用数据库
    • 1.4 删除数据库
  • 二、常用数据类型
    • 2.1 数据类型
    • 2.2 字符串类型
    • 2.3 日期类型
  • 三、表的操作
    • 3.1 创建表
    • 3.2 查看表
    • 3.3 查看表的结构
    • 3.4 删除表

数据库概念

数据库是一个软件(是一类软件):这一类软件功能就是"管理数据".实现数据库软件的内部,会广泛的使用到各种数据结构.
数据库管理的数据一般保存在硬盘上.也有少数数据库,是把数据存在内存中的(Redis,Tair…)
MySQL就是一个具体的数据库软件.MySQL这个数据库,是一个"客户端-服务器"结构的程序.
主动发起请求的一方,称为客户端.
被动接受请求的一方,称为服务器.

客户端给服务器发送的数据,称为“请求".
服务器给客户端返回的数据,称为"响应"
通过SQL来操作"数据库”,此处的数据库指的是一个MySQL服务器上,所管理的一个独立的数据集合.
一个独立的分组(数据集合)就称为是一个数据库.一个MySQL服务器上可以管理多个数据库.

内存和外存的区别

1.内存的存储空间较小(8G,16G),外存的存储空间较大(512G,1T).
2.内存的访问速度快,外存的访问速度慢.(大概要差3-4个数量级).
3.内存成本高,外存成本低.
4.内存中的数据,断电后消失.外存中的数据,断电后还在.

一、数据库基本操作

1.1 显示当前的数据库

show databases;

MySQL数据库基础_第1张图片

1.2 创建数据库

create database 数据库名字;

在这里插入图片描述

数据库的名字,可以随便起,但是不能是SQL中的关键字.(如果实在要使用关键字,可以使用``引起来(esc下面,1前面的那个键)).

  • 如果系统没有db_test2的数据库,则创建一个名叫db_test2的数据库,如果有则不创建:
create database if not exists db_test2;

在这里插入图片描述

create database if not exists db_test2 character set utf8mb4;

character set:指定数据库采用的字符集.

utf8mb4:这里是数字和汉字的对应关系,表格是存在多个版本的.常用的主要是两个版本:1.GBK , 2.UTF-8
这是当前最主要使用的汉字编码方式.

1.3 使用数据库

use 数据库名;

在这里插入图片描述

1.4 删除数据库

数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除.

drop database [if exists] 数据库名;

MySQL数据库基础_第2张图片

二、常用数据类型

MySQL, Oracle, SQL Server都是按照表格来组织.称为"关系型数据库"
Redis,HBase, MongoDB不要求按照表格方式组织(类似于文档/键值对)称为“非关系型数据库".
一个数据库中,可以有很多个数据表.
每个数据表有很多行.每一行称为是一条"记录",每一行又有很多列,每一列称为是一个“字段".
MySQL这样的数据库,就要求每一行这里的列都是一致的.(第一行是三列,第二行也是三列-….每一行都是三列.第一行的第一列是一个整数,第二行的第一列也是一个整数……第一行的第二列是一个字符串,第二行的第二列也是一个字符串…)

为了描述这个数据表中的列的信息,在创建数据表的时候,就需要指定"表头"(表头就是一个表格第一行的那个描述信息).

2.1 数据类型

分为整型和浮点型:

数据类型 大小 说明 对应java类型
bit[(m)] m指定位数,默认为1 二进制数,M范围从1到64,存储数值范围从0到2^M-1 常用Boolean对应BIT,此时默认是1位,即只能存0和1
tinyint 1字节 Byte
smallint 2字节 Short
int 4字节 Integer
bigint 8字节 Long
float(M,D) 4字节 单精度,M指定长度,D指定小数位数。会发生精度丢失 Float
double(M,D) 8字节 Double
decimal(M,D) M/D最大值+2 双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal
numeric(M,D) M/D最大值+2 双精度,M指定长度,D表示小数点位数。精确数值 BigDecimal

2.2 字符串类型

数据类型 大小 说明 对应java类型
varchar(size) 0-65535字节 可变长度字符 String
text 0-65535字节 长文本数据 String
mediumtext 0-16777215字节 中等长度文本数据 String
blob 0-65535字节 二进制形式的长文本数据 Byte[]

varchar可以根据实际需要,来指定要占用多少空间(SIZE的单位是字符)一个字符可能是由多个字节构成的.
BLOB用于表示二进制的数据.mp3文件, jpg文件,.class…都属于二进制文本件.txt,java,.c都属于文本文件.

2.3 日期类型

数据类型 大小 说明 对应java类型
datetime 8字节 范围从1000到9999年,不会进行时区的检索及转换. java.util.Date. java.sql.Timestamp
timestamp 4字节 范围从1970到2038年,自动检索当前时区并进行转换。 java.util.Date. java.sql.Timestamp

三、表的操作

需要操作数据库中的表时,需要先使用该数据库:
在这里插入图片描述

3.1 创建表

create table 表名(列名 类型,列名 类型,...)

示例:
在这里插入图片描述
创建表的时候,可以使用comment来给某个列后面加上注释.
MySQL数据库基础_第3张图片

在代码中表示"”一般有两种方式:
1.使用Decimal/BigDecimal
⒉使用int(单位是分即可)这是一个常见的手段~(运算效率要比 Decimal高很多)

3.2 查看表

show tables;

示例:
MySQL数据库基础_第4张图片

3.3 查看表的结构

desc 表名;

MySQL数据库基础_第5张图片

3.4 删除表

drop table [if exists] 表名;

示例:
在这里插入图片描述


以上.

你可能感兴趣的:(MySQL,sql,数据库)