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

进入数据库的数据目录

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.hqwc.cn/news/5289.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7、Redis复制(replica)

Redis复制(replica) 是什么? 就是主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库 读写分离 容灾恢复 数据备份 水平扩容支撑高并发 案例演示 架构说明 一个Master两个…

微服务系列文章之 seata 事务模式

XA模式 XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准。 XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。 两阶段提交 XA是规范&…

深度学习优化算法

梯度下降算法 随机梯度下降。随机梯度下降是指每次迭代在训练数据中随机抽取一个数据计算梯度来更新模型得参数。随机梯度下降容易受到噪声干扰,训练时间长,代价函数最终会围绕全局最小值或者局部极小值震荡。批量梯度下降。每次迭代时使用所有的训练数据来计算梯度更新模型的…

UE5 录制透明png序列帧

以下是在 Unreal Engine 5 中录制透明 PNG 序列帧的详细步骤: 步骤1:创建一个场景 步骤2:打开序列录制器 在 Unreal Engine 5 中,首先需要打开序列录制器。你可以通过点击顶部菜单栏的 窗口 > 开发人员工具 > 序列录制器 …

WEB漏洞-XXEXML之利用检测绕过全解(39)

#概念 xml:xml被设计成传输和储存数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容。就类似于一种数据的格式,代码类的一些东西; xxe:是xml上面的一个漏洞,…

mesh网格数据解析及cesium绘制格网三角网可视化实现

代码实现运行效果 技术术语 Mesh通常指网络拓扑中的网状结构。在计算机网络中,Mesh是指每个节点都与其他节点相连,形成一个无中心的网状结构。Mesh网络常见于分布式计算、传感器网络、互联网等场景中。另外,在3D计算机图形学中,M…

MATLAB 之 Simulink 系统仿真实例和 S 函数的设计与应用

这里写目录标题 一、Simulink 系统仿真实例1. 方法一2. 方法二3. 方法三 二、S 函数的设计与应用1. 用 MATLAB 语言编写 S 函数1.1 主程序1.2 子程序 2. S 函数的应用 一、Simulink 系统仿真实例 下面的应用实例我们将分别采用不同建模方法为系统建模并仿真。例如,…

【AUTOSAR】BMS开发实际项目讲解(三十一)----电池管理系统电池热管理功能

电池热管理功能 关联的系统需求 Sys_Req_4101、Sys_Req_4102、Sys_Req_4103、Sys_Req_4104、Sys_Req_4105; 功能实现描述 为保证电池系统的热安全,以及电池系统不同温度环境下的工作性能,本车型具备热管理功能。 表-热管理功能配置 功能 功能描述 …

vim多文件切换快捷键设置

1、基本切换指令 vim中在打开多个文件时,会有多个文件进行切换的需求。按:bn切换到下一个文件,按:bp切换到上一个文件。 2、快捷键设置 为了便捷操作,将切换命令设置成快捷键。 进入/home/yys个人目录下,vim .vimrc进入vimrc文…

java新特性stream

stream Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。 Stream将要处理的元素集合看作一种流,在流的过程中,借助…

Linux性能瓶颈分析之TOP指标分析

Linux性能瓶颈分析之TOP指标分析 文章目录 Linux性能瓶颈分析之TOP指标分析一、查看CPU二、监控CPU总结 一、查看CPU 1.查看cpu基础信息 lscpu2.查看cpu详细信息 cat /proc/cpuinfo3.统计cpu信息 cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l 查看…

Go语言使用net/http实现简单登录验证和文件上传功能

最近再看Go语言web编程,go语言搭建Web服务器,既可以用go原生的net/http包,也可以用gin/fasthttp/fiber等这些Web框架。本博客使用net/http模块编写了一个简单的登录验证和文件上传的功能,在此做个简单记录。 目录 1.文件目录结构…