MySQL:库的操作和表的操作(内含MySQL数据类型讲解)

news2024/12/26 11:40:53

进入数据库的数据目录

cd var/lib/mysql

库的操作

创建数据库

创建数据库的本质是创建目录。

创建数据库时有两个编码集:1.数据库编码集(存储时使用)2.进行字段比对读取时使用的编码方式)

语法:

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 db1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci

创建一个使用utf字符集,并带校对规则的 db2 数据库。

create database db2 charset=utf8 collate utf8_general_ci;

查看系统默认字符集以及校验规则

show variables like 'character_set_database';

show variables like 'collation_database';

 查看数据库支持的字符集

show charset;

查看数据库支持的字符集校验规则 

show collation;

查看数据库

show  databases;

查看数据库创建语句

show create database db_name;

mysql> show create database db1;
+----------+--------------------------------------------------------------+
| Database | Create Database                                              |
+----------+--------------------------------------------------------------+
| db1      | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)

修改数据库

 将 mytest 数据库字符集改成 gbk

alter database mytest charset=gbk;

对数据库的修改主要指的是修改数据库的字符集,校验规则

 将数据库的校验编码格式更改之后,已有的表的编码格式不会改变,改变的是新创建的表的编码格式。

数据库删除

DROP DATABASE [IF EXISTS] db_ name;

备份和恢复

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

 恢复数据库

mysql> source /home/szg/MySQL/db1.sql;

备份数据库中的表

# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据 库,再使用source来还原。

查看连接情况

mysql> show  processlist;

表的操作 

创建表

不同的存储引擎,创建表的文件不一样。

test_myisam 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

test_myisam.frm:表结构

test_myisam.MYD:表数据

test_myisam.MYI:表索引 

 查看表结构

mysql>  desc  person;

修改表

添加记录

 添加一个字段,用于保存图片路径

 修改字段

 删除字段

 修改表名

to:可以省掉 

删除表

 数据类型

 tinyint类型

 bit类型

bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1。

 #发现很怪异的现象,a的数据10没有出现,bit的数据是按照ASCII码对应的值显示的。

小数类型

float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节

decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数

decimal和float很像,但是有区别: float和decimal表示的精度不一样

字符串类型

char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255

varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节

关于varchar(len),len到底是多大,这个len值,和表的编码密切相关:

varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字 节数是65532。

当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占 用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符 占用2字节)。

 日期和时间类型

date :日期 'yyyy-mm-dd' ,占用三字节

datetime 时间日期格式 'yyyy-mm-dd HH:ii:ss' 表示范围从 1000 到 9999 ,占用八字节

timestamp :时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用 四字节(插入时自动更新当前的时间戳)

enum和set

enum:枚举,“单选”类型;(下标从1开始)

set:集合,“多选”类型;(类似于位图)

 集合查询使用find_ in_ set函数:

 find_ in_ set只支持查询一个元素是否存在于集合之中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+Prometheus采集Metrics指标数据

简介 本文介绍在springboot3.x里配置启用系统指标监控功能,来监视系统各项Metrics指标,从而实时了解应用的运行健康状态,通过promtheus服务提供数据收集与指标可视化方案; Metrics指标 metrics指标表示应用程序代码运行中提供的…

【JavaWeb】前端之CSS基础认知

目录 前言 1、CSS基本语法规范 2、向HTML中引入CSS的方式 2.1、内部样式 2.2、外部样式 2.3、内联样式 3、CSS选择器 3.1、基础选择器 3.1.1、标签选择器 3.1.2、类选择器 3.1.3、id选择器 3.1.4、通配符选择器 3.2、复合选择器 3.2.1、后代选择器 4、CSS常用元素…

leetcode514. 自由之路(java)

自由之路 leetcode514. 自由之路题目描述解题思路代码演示 动态规划专题 leetcode514. 自由之路 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/freedom-trail 题目描述 电子游戏“辐射4”中,任务 “通向自由…

深入浅出设计模式 - 工厂模式

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) ​ 💕💕 感兴趣的同学可…

目标检测舰船数据集整合

一、光学数据集 1、 DIOR 数据集(已下载yolo版本)(论文中提到过) “DIOR”是一个用于光学遥感图像目标检测的大规模基准数据集。数据集包含23463个图像和192472个实例,涵盖20个对象类。这20个对象类是飞机、机场、棒球场、篮球场、桥梁、烟囱…

CSS 边框盒子

文章目录 边框盒子 边框盒子 提示:这里可以添加本文要记录的大概内容: 默认的盒子类型是内容盒子:content-box 在内容盒子中,width和height是内容尺寸 盒子整体的尺寸内容的尺寸两个边框两个内边距 css3引入了新的盒子类型&…

Linux——对动静态库的优缺点和底层剖析对比

目录 静态库底层剖析: 所以静态库的优缺点总结: 动态库底层剖析: 所以使用动态库的优缺点剖析: 静态库底层剖析: 如上图:file1.exe被加载到了内存,成为了进程,因为代码中都有pri…

【Docker】docker安装配置Jenkins

docker 安装 Jenkins #拉镜像 docker pull jenkins/jenkins#创建卷(volume) docker volume create jenkins_home#制作容器并启动 docker run -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins_home:/var/jenkins_home \ -v /usr/lib/jvm/java-8-openjdk-amd64:/usr/local/java…

IMX6ULL系统移植篇-镜像烧写方法

一. 烧录镜像简介 本文我们就来学习:windows 系统下烧录镜像的方法。 如何使用 NXP 官方提供的 MfgTool 工具通过 USB OTG 口来 烧写系统。 二. windows下烧录镜像 1. 烧录镜像前准备工作 (1)从开发板上拔下 SD卡。 (2…

SpringBoot中如何优雅的统一全局返回格式与处理系统异常?

在领域驱动设计(DDD)中,接口层主要负责处理与外部系统的交互,包括接收用户或外部系统的请求,调用应用层服务处理请求,以及将处理结果返回给请求方。 我发现一些代码中,接口的返回值类型众多&am…

chatgpt赋能python:Python语言单词大全:从入门到精通

Python语言单词大全:从入门到精通 Python是一种高级编程语言,适用于各种应用领域,如数据科学、机器学习、网站开发和自动化脚本编写等。Python语言有其内置的语法和功能,我们将在本文中逐一介绍和解释。 1. Python中最基本的单词…

K8S集群安全之安全机制

1. 安全机制说明: Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护APIServer来设计的。Kubernetes使…

小程序实现双列布局

目录 1 双列布局2 采用流式布局3 采用网格布局总结 小程序中双列布局是一个常见的效果,比如在电商小程序的商品推荐,效果如下: 1 双列布局 双列布局的话特点是随着数据的增多,我们会出现偶数或者奇数的问题,如果是偶…

【Data Studio 2.1.0连接openGauss2.1.0】

Data Studio 2.1.0连接openGauss2.1.0 一、实验环境说明二、配置客户端接入方式三、Data Studio2.1.0连接openGauss数据库 一、实验环境说明 openGauss2.1.0版本Data Studio 2.1.0 版本 二、配置客户端接入方式 【以下操作是omm用户进行】 修改配置文件pg_hba.conf&#xf…

12--Gradle进阶 - Gradle任务的类型

12--Gradle进阶 - Gradle任务的类型 任务类型 前面我们定义的task 都是DefaultTask 类型的,如果要完成某些具体的操作完全需要我们自己去编写gradle 脚本,势必有些麻烦,那有没有一些现成的任务类型可以使用呢?有的,Gradle 官网给出…

C. Tenzing and Balls - dp

分析: 补题。当时不明白的点是如何快速查询相同元素的下标,可以用last[a[i]]表示与a[i]相同的最近的一个数的下标,可以遍历数组的同时实现下标的查询和变化,不断通过遍历来更新last[a[i]]的值,即last[a[i]]i。 然后是状…

衡石bi的几种跳转方式

衡石bi的几种跳转方式 通过点击表格的单元格跳转(带参) 点击首页的表格里任意一行的单元格跳转到明细页的企业相关数据 这两个数据集都是有一个info_uuid的主键,我们知道每个控件都可以设置交互的方式进行跳转应用内的仪表盘。 点击首页里要设置跳转的控件右上角的…

maven基础教程

一、安装moven 1、下载maven包 首先到maven官网下载安装包,解压到本地目录,然后配置环境变量。 maven下载地址:https://maven.apache.org/download.cgi 2、配置环境变量 然后打开环境变量,添加 MAVEN_HOME 系统变量&#xff…

JVM-jvisualvm性能监控可视化工具使用与eden-s0-s1分配分析

目录 第一步:安装jvisualvm 第二步:安装VisualvmGc插件 方式一:jvisualvm工具直接下载安装 方式二:去官网下载导入安装 总结 第三步:idea安装VisualvM Launcher插件 第四步:演示young中eden、s0、s1垃…

轻量级数据交换格式:jsoncpp

"这不属于我&#xff0c;因为沉默背后&#xff0c;也有冲动" 一、认识json (1) 为什么有那么多的数据交换格式&#xff1f; 比如说&#xff0c;现在我有下面的数据: #include <iostream> #include <string>int main() {std::string name "张三&q…