1.MySQL数据库的基本操作
数据库操作过程:
1.用户在客户端输入 SQL
2.客户端会把 SQL 通过网络发送给服务器
3.服务器执行这个 SQL,把结果返回给客户端
4.客户端收到结果,显示到界面上
数据库的操作
这里的数据库不是代表一个软件,而是代表一个数据集合。
显示当前的数据库
show databases;
创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
- 大写的表示关键字
- [] 是可选项
- CHARACTER SET: 指定数据库采用的字符集
- COLLATE: 指定数据库字符集的校验规则
create database 数据库名
CREATE DATABASE 数据库名
注意:
1.create,database … 相当于"关键字
2.SQL 的关键字 不区分大小写的
3.创建的数据库的名字,可以随便起,但是不能重复!!
4.单词之间至少有一个空格.也可以是多个空格,不能没有!!
5.在 命令行 中输入的 sql 必须以;作为结尾!!
创建名称为my_database的数据库
create database my_database;
-- 数据库已经存在,再创建就会报错
-- 如果一条一条执行 SQL,不报错影响不大。如果是批量执行 SQL(把很多 SQL 写到一个 文件 中)如果中间某个 SQL 报错, 就会执行停止。
-- 使用了 IF NOT EXISTS 就不会报错了!!
create database if not exists my_database;
-- 创建数据库同时指定数据库的 字符集utf8
create database my_database character set utf8;-- 一般形式
create database my_database charset utf8;-- 简写形式
英文字母,是如何在计算机中表示的?
ascii :使用 数字 表示字符。
ascii 中,只能表示 英文字母 和 标点符号,以及阿拉伯数字。汉字要表示的内容特别多,y有几万个,很明显ascii是不够用的。
其他的字符集思路是一致的,可以搞一个更大的表,来表示汉字。演化出了很多套这样的表示方式~~ (不像 ascii只有一套)。对于中文来说,当前最常见的表示方式,有两种:
-
gbk:使用两个字节,表示一个汉字的
-
utf8:使用三个字节,表示一个汉字的
在这两个表上,同一个汉字,表示的数字不同。同一个数字,对应汉字也不同。VS 使用的编码方式是跟随系统windows 简体中文版,系统编码就是 gbk。目前更主流的还是 utf8,这个东西能表示的内容特别多除了汉字之外,各种其他国家的语言文字符号都能表示。java 的字符集是在编译运行的时候,通过命令行参数显式指定的.一般默认都是 utf8 。
mysql 默认字符集是拉丁文(没法表示中文的)。手动设定一个字符集是非常关键的,后续如果要插入一些中文,如果不是 utf8 / gbk 之类的中文就会乱码。
mysgl 的 utf8 是残缺的.(残缺了一些 emoji 表情),完整版utf8就是:utf8mb4,一般情况下两种字符集是都可以设置的。
使用数据库
使用my_database数据库
use my_database;
1.4 删除数据库
DROP DATABASE [IF EXISTS] db_name;
drop database 数据库名;
-- 删除 删除my_database数据库:
drop database my_database;
-- 如果存在 my_database数据库,删除my_database数据库:
drop database if exists my_database;
删库操作时非常危险的,一旦删掉数据库,数据库中的所有数据就没了.很难恢复。
如何针对上述危险操作,防患于未然:
1.权限不同的用户,能进行的操作是不一样的(有效避免失误)
2.备份 。一旦不小心误删除了数据, 通过之前的备份数据,恢复回来
3.重要操作的时候,拉上其他人帮忙一起检查。
2. 常用数据类型
数字:
| 数据类型 | 大小 | 说明 | 对应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 | 和DECIMAL一样 | BigDecimal |
DECIMAL 能够精确表示小数float 和 double 是不能精确表示小数的!!
0.1 + 0.2 != 0.3

因此,DECIMAL 这个类型就是为了解决上述问题的。虽然能精确存储,精确计算了,但是存储空间占用的更多计算速度也是更慢的。
字符串:
| 数据类型 | 大小 | 说明 | 对应java类型 |
|---|---|---|---|
| VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
| TEXT | 0-65,535字节 | 长文本数据 | String |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
| BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
varchar(SIZE) 属于可变长的字符串SIZE 表示最大长度.单位是 字符(不是字节!!)
varchar(10) => 最多十个字.哪怕是汉字,也是十个。
日期:
| 数据类型 | 大 小 | 说明 | 对应java类型 |
|---|---|---|---|
| DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
| TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP 时间戳:计算机表示时间的一种经典方式以1970年1月1日0时0分0秒为基准,计算当前时刻和基准时刻的秒数/毫秒数 之差。范围从1970到2038年,这个类型最大的问题是 4 个字节,表示的范围太小了。
小结:
上述这么多类型,不必全都掌握,大概熟悉几个常用的就可以了int, bigint, varchar, double, decimal, datetime。
数据表操作
关系型数据库中,数据是以"表”的方式来进行组织的(类似于 excel)。每个数据库中,里面就可以有很多个数据表,每个表可以有很多行,每一行又可以有很多个列(字段)。
所有的和表相关的操作,都是需要选中数据库再进行: use my_database;
3.1 创建表
create table 表名(列名 类型, 列名 类型, 列名 类型......
);
创建表的时候,就需要先把表的类型确定好,后续插入的数据也要遵守当前的这个类型。
-- 创建学生表,有id和name两个字段create table student(id int, name varchar(20) comment '姓名');
comment 是注释属于是在创建表的时候的一种专属注释
SQL 中如果想用注释,可以使用 # 或者 –
3.2 查看数据库中的所有表
show tables;
3.3 查看指定表的表结构
desc 表名;
desc => describe(描述)
-- 查看student表的结构
desc student;

int(11): 表示的是该列在打印的时候,显示的时候,最多占11 个字符这么宽和存储范围是无关的。
查看的表结构中的含义:
Field:字段.表一行里有几列.
Type:每一列的类型
Null:该列是否允许为空yes 就是允许为空(不填)
Key: 索引类型
Default:默认值.
Extra:额外补充信息
3.4 删除表
语法格式:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
-- 删除 student 表
drop table student;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists student;
上述操作是数据库和数据表的最基础的操作
相关文章:
1.MySQL数据库的基本操作
数据库操作过程: 1.用户在客户端输入 SQL 2.客户端会把 SQL 通过网络发送给服务器 3.服务器执行这个 SQL,把结果返回给客户端 4.客户端收到结果,显示到界面上 数据库的操作 这里的数据库不是代表一个软件,而是代表一个数据集合。 显示当前的数据库 …...
Zabbix-6.4.4 邮箱告警SMS告警配置
目录 ------------------------- # 邮箱告警 ---------------------------------- 1.安装mailx与postfix软件包 2.修改mailx配置文件 3. 创建文件夹 4. 编写mail-send.sh脚本 5. 将该脚本赋予执行权限 6. 进入web界面进行设置—> Alerts —> Media Types 7. 添…...
网络安全 Day30-运维安全项目-容器架构上
容器架构上 1. 什么是容器2. 容器 vs 虚拟机(化) :star::star:3. Docker极速上手指南1)使用rpm包安装docker2) docker下载镜像加速的配置3) 载入镜像大礼包(老师资料包中有) 4. Docker使用案例1) 案例01::star::star::…...
深入理解设计模式-创建型之单例模式
为什么要使用单例 1、表示全局唯一 如果有些数据在系统中应该且只能保存一份,那就应该设计为单例类。 如:配置类:在系统中,我们只有一个配置文件,当配置文件被加载到内存之后,应该被映射为一个唯一的【配…...
Vue中路由缓存问题及解决方法
一.问题 Vue Router 允许你在你的应用中创建多个视图,并根据路由来动态切换这些视图。默认情况下,当你从一个路由切换到另一个路由时,Vue Router 会销毁前一个路由的组件实例并创建新的组件实例。然而,有时候你可能希望保持一些页…...
Linux与bash(基础内容一)
一、常见的linux命令: 1、文件: (1)常见的文件命令: (2)文件属性: (3)修改文件属性: 查看文件的属性: ls -l 查看文件的属性 ls …...
NVIDIA Omniverse与GPT-4结合生成3D内容
全球各行业对 3D 世界和虚拟环境的需求呈指数级增长。3D 工作流程是工业数字化的核心,开发实时模拟来测试和验证自动驾驶车辆和机器人,操作数字孪生来优化工业制造,并为科学发现铺平新的道路。 如今,3D 设计和世界构建仍然是高度…...
Windows Server --- RDP远程桌面服务器激活和RD授权
RDP远程桌面服务器激活和RD授权 一、激活服务器二、设置RD授权 系统:Window server 2008 R2 服务:远程桌面服务 注:该方法适合该远程桌面服务器没网络状态下(离线),激活服务器。 一、激活服务器 1.打开远…...
关于游戏盾
游戏盾(Game Shield)是一种针对游戏行业特点的网络安全解决方案,主要针对游戏平台面临的各种网络攻击和安全威胁。以下是一些原因,说明为什么游戏平台需要加游戏盾: 1. DDoS攻击:游戏平台通常容易受到分布式…...
回归预测 | MATLAB实现基于SSA-KELM-Adaboost麻雀算法优化核极限学习机结合AdaBoost多输入单输出回归预测
回归预测 | MATLAB实现基于SSA-KELM-Adaboost麻雀算法优化核极限学习机结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SSA-KELM-Adaboost麻雀算法优化核极限学习机结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本…...
《cpolar内网穿透》外网SSH远程连接linux(CentOS)服务器
本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。 视频教程 [video(video-jrpesBrv-1680147672481)(type-csdn)(url-CSDN直播https://live-file.csdnimg.cn/release/live/…...
IDEA启动报错【java.sql.SQLSyntaxErrorException: ORA-00904: “P“.“PRJ_NO“: 标识符无效】
IDEA报错如下: 2023-08-17 11:26:15.535 ERROR [egrant-biz,b48324d82fe23753,b48324d82fe23753,true] 24108 --- [ XNIO-1 task-1] c.i.c.l.c.RestExceptionController : 服务器异常org.springframework.jdbc.BadSqlGrammarException: ### Error queryin…...
Nginx详解
1、高并发时代 单台tomcat在理想情况下可支持的最大并发数量在200~500之间,如果大于这个数量可能会造成响应缓慢甚至宕机。 解决方案是通过多台服务器分摊并发压力,这不仅需要有多台tomcat服务器,还需要一台服务器专门用来分配请求。这既是…...
摸清一下mysql授权语句的实际执行关系
样例 ---------------------------------------------------------------------- grant all PRIVILEGES on db1.* to test% identified by test1; grant all PRIVILEGES on db2.* to test% identified by test2; grant all PRIVILEGES on db3.* to test127.0.0.1 identified …...
sCrypt于8月12日在上海亮相BSV数字未来论坛
2023年8月12日,由上海可一澈科技有限公司(以下简称“可一科技”)、 临港国际科创研究院发起,携手美国sCrypt公司、福州博泉网络科技有限公司、复旦大学区块链协会,举办的BSV数字未来论坛在中国上海成功落下帷幕。 本次…...
Hbase的列式存储到底是什么意思?一篇文章让你彻底明白
一、 HBase 定义 Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。 二、 HBase 数据模型 HBase 的设计理念依据 Google 的 BigTable 论文,论文中对于数据模型的首句介绍。 Bigtable 是一个稀疏的、分布式的、持久的多维排…...
机器学习|Softmax 回归的数学理解及代码解析
机器学习|Softmax 回归的数学理解及代码解析 Softmax 回归是一种常用的多类别分类算法,适用于将输入向量映射到多个类别的概率分布。在本文中,我们将深入探讨 Softmax 回归的数学原理,并提供 Python 示例代码帮助读者更好地理解和…...
EmbedPress Pro 在WordPress网站中嵌入任何内容
EmbedPress Pro可让您通过高级自定义、自定义品牌、延迟加载和更多惊人功能嵌入源。为古腾堡块和Elementor编辑器提供支持的一体化 WordPress 嵌入解决方案。使用 EmbedPress 在古腾堡创建交互式内容。使用 EmbedPress 的古腾堡块立即将任何内容嵌入到您的网站。 网址: EmbedP…...
【C++学习手札】一文带你初识C++继承
食用指南:本文在有C基础的情况下食用更佳 🍀本文前置知识: C类 ♈️今日夜电波:napori—Vaundy 1:21 ━━━━━━️💟──────── 3:23 …...
【ubuntu18.04】01-network-manager-all.yaml和interfaces和resolv.conf各有什么区别和联系
文章目录 01-network-manager-all.yaml、interfaces 和 resolv.conf 是与网络配置相关的文件,它们在网络设置中有着不同的作用和使用方式。 01-network-manager-all.yaml: 这是一个配置文件,通常在 Ubuntu 系统上使用 NetworkManager 进行网络管理时使用…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
