当前位置: 首页 > news >正文

MySQL —— 库,数据类型 与 表

库与基础操作

1.1 查看数据库

使用 show databases; 可以查看当前 MySQL 目前有多少个数据库

在这里插入图片描述
5 rows 表示有 5 行,这里是表示的是有效的数据,不包括 第一行的指引

set 表示结果集合

0.01 sec 表示这个 sql 语句一共运行了0.01 秒,一般情况下这个数值不是很准确

1.2 创建数据库

creat database (if not exists) database_name (character set charset_name) (collate collation_name);

if not exists 表示如果不存在,加了这个可以增加一些校验,
加了括号的表示是可选项,你可以写,可以不写
character set 表示字符集,我们可以指定字符集去存储字符
collate 表示排序方式

5.7 版本的MySQL 的字符集是 latin1(拉丁字符集,不支持中文字符),8.0版本支持 utf8mb4 编码(最多支持 一个字符占 4 个字节,可以保存中文字符和特殊字符例如表情包等等),不同的字符集意味着存储的字符数量不同,我们可以通过show variables like '%character%';来查看当前我们数据库默认的字符集编码

下面是 8.0 版本:
在这里插入图片描述
也就是说如果你没有指定字符集和编码方式,你创建的数据库就会默认这两种方式,所以这里强烈建议开发学习者手动去指定我们创建的数据库的字符集与排列方式。

以8.0版本为例:
字符集指定为utf8mb4 排列方式可以指定为 utf8mb4_0900_ai_ci
版本过低的MySQL可能不支持 utf8mb4 的字符集编码方式

这里解释一下 ai 与 ci
ai : accent insencitive 口音不敏感
as : assccent sencitive 口音敏感
ci : case insencitive 大小写不敏感,表示无论是大写还是小写字母都认为是小写字母
cs : case sencitive 大小写敏感
在MySQL 中是 ci 模式,所以我们编写的 sql 语句不用考虑 大小写问题,都是一样的。

演示创建数据库:

在这里插入图片描述

query ok 表示成功


在这里插入图片描述

如果我们加了 if not exists 就会加一层校验,如果你重复创建数据库,MySQL 会给你自动报个警告,所以你会看到 1 warning

如果想查看警告信息,使用show warnings;
在这里插入图片描述
它显示无法创建这个库,该库已经存在。

MySQL 创建数据库尽量不要使用 关键字,如果非要使用,在数据库的名称加上反引号【位于 esc 下方,tab 上方,1的左边,并且要保证在英文状态下】
在这里插入图片描述

如果写错sql 语句,MySQL会报错误给你:
在这里插入图片描述
sql syntax 表示的是语法出错了。

1.3 使用数据库

使用 use database_name;
最后一个分号加不加无所谓

在这里插入图片描述

1.4 删除数据库

使用drop database (if exists) database_name;
在这里插入图片描述

注意别乱删数据库,凡是数据库的删除操作请谨慎!!!三思而后行!!!!

数据类型

2.1 数值类型

数据类型大小说明对应的Java类型
bit[(M)]M指定位数,默认为1二进制数,M范围从1~ 64,存储数值范围为0 ~ 2^M -1常用Boolean 对应
tinyint1个字节Byte
smallint2个字节short
int4个字节Integer
bigint8个字节Long
float(M,D)4个字节M指定长度,D指定小数位数Float
double(M,D)8个字节Double
decimal(M,D)M/D最大值+2BigDecimal
numeric(M,D)BigDecimal

M表示长度时,长度不包括符号和小数点,如果表示的是 - 3.1415926,M的长度为 8.

常用 int 表示数量,bigint 表示一串长的编码,decimal 来存储有精度要求的带小数的数据,bool 也可以表示 tinyint 表示 二选一的选项(例如gender)

数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
1.有符号范围:-2 ^(类型字节数8-1) 到 2 ^(类型字节数8-1)-1,如 int 是 4字节,就是 -2 ^ 31 到 2 ^31-1
2.无符号范围:0到 2 ^ (类型字节数*8)-1,如 int 就是 2 ^ 32 - 1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

2.2 字符串类型

数据类型大小说明对应的Java类型
varchar(size)0 ~ 65,535 个字节可变长度字符串String
text0 ~ 65,535 个字节长文本数据String
mediuntext0 ~ 16,777,215 个字节中等长度文本数据String
blob0 ~ 65,535 个字节二进制形式的长文本数据byte[]

重点是 varchar,一定要加上 (size)来指定最多可以保存多少个字符,一个英文字符或者一个中文字符都算一个字符,size 表示字符数,不考虑字符占多大字节

2.3 日期类型

数据类型大小说明对应的Java类型
datetime8个字节范围从 1000 ~ 9999 年,不会进行时区的检索与转换java.util.Date、java.sql.Timestamp
timestamp4个字节范围从 1970 ~ 2038 年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp

datetime 只能精确到年月日,而 timestamp 可以精确到年月日时分秒,后面还有小数点。

建议使用 datatime ,因为 timestamp 到了 2038 会溢出,对我们的数据可能会造成影响,可以参考千年虫危机

需要操作数据库中的表时,需要先使用该数据库 use database_name;

3.1 创建表

语法格式:

creat table (if not exists) table_name (字段名称1 数据类型,字段名称2 数据类型,字段名称3 数据类型
);

在编写比较长的 sql 语句或者复杂的 sql 语句的时候,可以使用可视化工具。

在数据类型后面可以加上 comment ‘注释’ 【注意这里使用的是英文的单引号】
在开发过程中,加注释是其中一个重要的环节。

演示:

create table if not exists student (id bigint comment '身份证号',name varchar(50) comment '姓名',class varchar(20) comment '班级'
);

在这里插入图片描述
3.2 查看表结构

使用 desc table_name;

desc 是英文 describe (描述) 的缩写

演示:

在这里插入图片描述
Filed 表示字段名称
Type 表示字段类型
NULL:是否允许为空
Key 索引类型
Default 默认值
Extra 扩充

3.3 删除表

语法格式:

drop table (if exists) table_name, table_name,...;

可以删除一个及以上的表

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

在开发中,删除表操作也要谨慎,三思而后行!!!

其他操作

使用\? 可以查看一些MySQL的基本操作:

在这里插入图片描述


使用 select version(); 可以查看当前使用的MySQL版本:

在这里插入图片描述


使用 \. sql文件路径 可以执行该 sql 文件 :

注意 . 后面要加一个空格
写完路径后,不需要加分号,直接enter 允许文件即可。

在这里插入图片描述


查看表的数量:show tables;

在这里插入图片描述

相关文章:

MySQL —— 库,数据类型 与 表

库与基础操作 1.1 查看数据库 使用 show databases; 可以查看当前 MySQL 目前有多少个数据库 5 rows 表示有 5 行,这里是表示的是有效的数据,不包括 第一行的指引 set 表示结果集合 0.01 sec 表示这个 sql 语句一共运行了0.01 秒,一般情况…...

Java重修笔记 第二十七天 匿名内部类

匿名内部类 1. 定义:无类名(底层自动分配类名“外部类名$1”),既是类也是对象,定义在外部类的局部位置,例如方法体和代码块中,通过new类或接口并在大括号里重写方法来实现。 2. 使用场景&…...

Nero Lens 智图 - 适用于 iOS 和 iPadOS 的专业图片处理 App

首先是手机端的无损放大 App:Nero Lens 智图,适用于 iOS 和 iPadOS,不仅可以放大,还有多种 AI 图片增强功能。 使用这款 App 可以通过 AI 模型智能放大可达 400%,还有老照片去划痕、上色,抠图移除背景、照…...

Nginx代理路径被吃

Nginx代理路径被吃的情况 日常工作中经常使用nginx反向代理一些资源,有时正常代理,发现代理不过去。 验证被吃调location情况 通过浏览器访问: https://zhao138969.com/LinuxPackage/Python/SelectDocker location /LinuxPackage { proxy…...

pytest-html报告修改与汉化

前言 Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近又有人问我pytest-html生成的报告&a…...

react-native从入门到实战系列教程一Swiper组件的使用及bug修复

轮播图,在app中随处可见,这么重要的功能我们怎么可能不学习下在react-native中的实现方式。 依然是第三方组件react-native-swiper 官网地址 https://www.npmjs.com/package/react-native-swiper 组件使用的组件及事件参考官方即可。 实现效果 官网…...

springboot开发的常用注解总结-配置组件类注解

Spring Boot 提供了许多注解,这些注解大大简化了 Spring 应用的配置和开发过程。以下是一些常见的 Spring Boot注解及其作用。 目录 配置组件类 (Configure Component )Configuration解释:Demo Code:更深度使用&#x…...

DataX 最新版本安装部署

1、下载 git clone gitgithub.com:alibaba/DataX.git 2、打包 mvn -U clean package assembly:assembly -Dmaven.test.skiptrue...

【架构】应用保护

这篇文章总结一下应用保护的手段。如今说到应用保护,更多的会想到阿里的sentinel,手段丰富,应用简单。sentinel的限流、降级、熔断,可以自己去试一下,sentinel主要通过配置实现功能,不难。sentinel的简介放…...

从核心到边界:六边形、洋葱与COLA架构的深度解析

文章目录 1 引言2 软件架构3 架构分类4 典型的应用架构4.1 分层架构4.2 CQRS4.3 六边形架构4.4 洋葱架构4.5 DDD 5 COLA架构设计5.1 分层设计5.2 扩展设计5.3 规范设计5.3.1 组件规范5.3.2 包规范5.3.3 命名规范 6 COLA架构总览7 小结 1 引言 软件的首要技术使命:管…...

04-Fastjson反序列化漏洞

免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担&…...

ABC365(A-D)未补

A - Leap Year(模拟) 题意:给定一个数字n,如果n不是4的倍数,输出365;如果n是4的倍数但不是100的倍数,输出366;如果n是100的倍数但不是400的倍数,输出365;如果…...

Python用png生成不同尺寸的图标

Kimi生成 from PIL import Imagedef generate_icon(source_image_path, output_image_path, size):with Image.open(source_image_path) as img:# 转换图片为RGBA模式,确保有透明通道if img.mode ! RGBA:img img.convert(RGBA)# 调整图片大小到指定尺寸img img.r…...

1688中国站获得工厂档案信息 API

公共参数 名称类型必须描述keyString是免费申请调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认y…...

定时任务框架 xxl-job

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...

C/C++关键字大全

目录 一、const 二、static 三、#define 和 typedef 四、#define 和 inline 五、#define 和 const 六、new 和 malloc 七、const 和 constexpr 八、volatile 九、extern 十、前置 和后置 十一、atomic 十二、struct 和 class 一、const 1、const 关键字可用于定义…...

ROS2 Linux Mint 22 安装教程

前言: 本教程在Linux系统上使用。 一、linux安装 移动硬盘安装linux:[LinuxToGo教程]把ubuntu装进移动固态,随时随用以下是我建议安装linux mint版本的清单: 图吧工具箱:https://www.tbtool.cn/linux mint: https://…...

快速将网站从HTTP升级为HTTPS

在当今数字化的世界中,网络安全变的越来越重要,HTTPS(超文本传输安全协议)不仅能够提供加密的数据传输,还能增强用户信任度,提升搜索引擎排名,为网站带来多重益处。所以将网站从HTTP升级到HTTPS…...

Qt程序移植至Arm开发板

目录 1.工具准备: 系统调试工具SecureCRT 虚拟机安装linux(Ubuntu) 交叉编译工具链 ARM 端Qt 环境(Qt-5.7.1) 1) linux processor SD安装 2)交叉编译工具链配置 2.编译Qt工程: 2.0 交叉编译 依赖库源码,生成动…...

删除分区 全局索引 drop partition global index Statistics变化

1.不一定unusable,可以先删除data (index 再删除过程中会更新结构)再drop/truncate. ---------------------- CREATE TABLE interval_sale ( prod_id NUMBER(6) , cust_id NUMBER , time_id DATE ) PARTITION BY RANGE (time_i…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...