三分钟带你入门MySQL---基础篇


文章目录

前言

一. 什么是MySQL

二. 基础库操作

1. 创建数据库

2. 查看所有数据库

3. 选中数据库

4. 删除数据库

三. 设置数据库的编码字符集

四. MySQL数据类型

1. 数值类型

2. 字符串类型

3. 日期数据类型

五. 基础表操作

1. 创建表

2. 查看库中有哪些表

3. 查看表结构

4. 删除表


前言

开启MySQL新的篇章———简单的库操作&&表操作&&数据类型


一. 什么是MySQL

MySQL是一种数据库,数据库其实是"基于数据结构"实现出来的软件, 可以对数据进行有组织的存储和管理;

MySQL是一种关系型数据库, 对于数据的存储, 在格式上有严格的要求(以类似于execl表格的方式来存储); 而SQL是编程语言, SQL可以在MySQL等数据库软件上运行;

MySQL是一个客户端, 服务器结构的软件, 我们安装好MySQL, 其实已经把客户端和服务器都安装好了; 我们所使用的MySQL的命令行输入页面就相当于一个客户端,客户端是用来完成和用户交互的, 而服务器是存储数据的本体; 数据存储在服务器主机的硬盘上.

img

img

  • 主动发送数据的这一方为客户端(client).
  • 被动接收数据的这一方为服务器(server).
  • 客户端给服务器发送的数据叫做请求(request).
  • 服务器给客户端返回的数据叫做响应(response).
  • 客户端和服务器之间是通过网络来进行通信的.
  • 一个服务器可以同时给多个客户端提供服务.

MySQL中的代码不区分大小写, 也就是是说关键字大写和小写都可以.

二. 基础库操作

1. 创建数据库

语法:

create database 数据库名;

注意:

数据库名不能是sql中的关键字, 如果非要使用, 需要将关键字用反引号引起来关键字.

示例:

  • 创建成功

三分钟带你入门MySQL---基础篇_第1张图片

  • 为了防止所建的数据库已经存在导致报错, 可以加上if  not  exists来解决.

三分钟带你入门MySQL---基础篇_第2张图片
加上if not exists在建库时如果库存在也不会报错, 避免了sql语句批量执行时由于这一句报错而中断了后面的执行. 

  • 在建库时还可以指定字符集.


MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符; 在MySQL中真正的utf8是utf8mb4 .

2. 查看所有数据库

语法:

show databases;

示例:

三分钟带你入门MySQL---基础篇_第3张图片

3. 选中数据库

在对一个数据库中的数据进行crud等操作前需要先选中指定的一个数据库.

语法:

use 数据库名;

示例:

4. 删除数据库

语法:

drop database 数据库名;

示例:

三分钟带你入门MySQL---基础篇_第4张图片

三. 设置数据库的编码字符集

MySQL默认的编码字符集是gbk和latin1,这两种字符集是不支持中文的, 需要我们去将这两种字符集修改为utf8或者utf8mb4.

在数据库客户端中我们可以通过show variables like "%char%";来查询当前MySQL默认编码格式。

三分钟带你入门MySQL---基础篇_第5张图片

如果执行结果是上面这个样子就需要去配置文件中去修改字符集了.

可以通过Everything等工具快速找到MySQL的配置文件my.ini.附下载链接,可以去官网下载:下载 - voidtools 这里注意一定是ProgramData目录下的,没有的可以看我前面卸载mysql的文章,里有提到怎么打开这个隐藏的目录。

三分钟带你入门MySQL---基础篇_第6张图片

打开该文件, 找到如下图所示的两个字段修改为utf8或utf8mb4, 修改前要注意备份, 防止修改错搞坏数据库.

  • 设置mysql客户端默认字符集(切记前面#也得删除!!!)

三分钟带你入门MySQL---基础篇_第7张图片

  • 设置mysql服务端默认字符集(切记前面#也得删除!!!)

  

  • 修改完保存, 重启数据库服务器即可;

三分钟带你入门MySQL---基础篇_第8张图片

  • 修改完后的效果:

三分钟带你入门MySQL---基础篇_第9张图片

四. MySQL数据类型

sql中定义变量时,变量名在前,类型在后.

1. 数值类型

数据类型 内存大小(字节) 说明 对应java数据类型 对应c数据类型
BIT(M) M指定位数,默认为1 单个二进制位值,或者为0或者为1,主要用于开/关标志(M范围从1到64, 存储数值范围从0到2个M-1) Boolean true/false
TINYINT 1 1字节整数值,支持0~255的整数 Baty char
SMALLINT 2 2字节整数值,支持−32768~32767的整数 Short short
INT 4 4字节整数值,支持−2147483648~2147483647的数 Integer int
BIGINT 8 整数值,支持-9223372036854775808~9223372036854775807的数 Long long
FLOAT(M, D) 4 单精度浮点值,M指定长度,D指定小数位数。会发生精度丢失 Float float
DOUBLE(M,D) 8 双精度浮点值, M指定长度,D指定小数位数。会发生精度丢失 Double double
DECIMAL(M,D) M/D+2 定点或精度可变的浮点值,M指定长度,D表示小数点位数; 精确数值 BigDecimal
NUMERIC(M, D) M/D最大 值+2 和DECIMAL一样 BigDecimal

数值类型可以指定为无符号(unsigned),表示不取负数.

2. 字符串类型

数据类型 大小 说明 对应java数据类型
VARCHAR (SIZE) 0-65,535字节 可变长度字符串 String
TEXT 0-65,535字节 长文本数据 String
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据 String
BLOB 0-65,535字节 二进制形式的长文本数据 byte[]

sql中的字符串值可以用单引号也可以用双引号.

3. 日期数据类型

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

存储格式 : 'yyyy-mm-dd hh:mm:ss'

五. 基础表操作

注意 : 需要操作数据库中的表时,要先选中该数据库

1. 创建表

语法:

create table 表名(定义列1, 定义列2, .......);
列 -> 变量名 数据类型

示例:

设计一张学生表,包含以下字段:id,姓名,密码,年龄,性别,生日时间等等.

三分钟带你入门MySQL---基础篇_第10张图片

2. 查看库中有哪些表

语法:

show tables;

示例:

三分钟带你入门MySQL---基础篇_第11张图片

3. 查看表结构

语法:

desc 表名;

示例:

三分钟带你入门MySQL---基础篇_第12张图片

4. 删除表

语法:

drop table 表名;

示例:

三分钟带你入门MySQL---基础篇_第13张图片

你可能感兴趣的:(MYSQL,java,mysql,数据库)