MySQL数据类型及库和表的操作大全

 更新时间:2025年12月23日 09:31:05   作者:打不了嗝  
MySQL数据库操作包括库的创建、修改、删除和备份,表的创建、修改、删除和数据类型,数据类型分为数值类型、小数类型、字符串类型、日期和时间类型以及枚举和集合类型,本文给大家介绍MySQL数据类型及库和表的操作大全,感兴趣的朋友跟随小编一起看看吧

连接服务器:mysql -h 127.0.0.1 -P 3306 -u root -p

-h 后面指定MySQL服务器地址  -P 后面指定端口 -u 后面指定用户名 -p 后面跟随密码

一. 库的操作

1. 创建

创建数据库

语法:

create database 【数据库名】;

当我们没有指定数据库的字符集和校验规则时,系统默认的字符集是 utf8 ,校验规则是 utf8_general_ci。

例如我们这里要指定字符集和校验规则创建库我们可以这样

2. 修改

我们想要修改库的话首先得知道我们有什么库

show databases;

这串指令可以将现有的库列出

效果:

此时我们需要选择进入一个数据库。 

语法:

use 【数据库名】;

我们修改库通常是修改它的字符集和校验规则

语法:

alter database 【数据库】 【更改的字符集和校验规则】;

效果:

3. 删除

语法:

drop database 【数据库】;

效果:

数据库本质就是一个文件,里面的库就是数据库文件内部的一个子文件。数据这个子文件会连带着整个库内部的文件跟着一块删除,所以非轻易不要删除库。

4. 备份

如果确实是需要删除库,那么删除之前需要进行一下备份。

语法:

mysqldump -h 【IP】 -P 【端口】 -u 【用户】 -p 【库名称】 > 【目标路径】/【目标文件名】.sql

若我们想要还原

语法:

source 【文件路径】/【文件名】

二. 表的操作

1. 创建

语法:

create table 【表名称】(
    【列名】  【类型】 comment 【'注释'】,
    【列名】  【类型】 comment 【'注释'】
);

效果:

tip:创建表首先得选择库进入

2. 修改

我们首先查看表结构

语法:

desc 【表名】;

效果:

field 为字段名字,type 是字段类型,NULL 为约束条件,key 索引

若我们想给表中添加新的字段

语法:

alter table 【表名】 add 【新字段】 【新类型】 【新备注】; 

效果:

若我们想给表中添加样例

语法:

insert into 【表名】 values(【表的字段类型】);

这里我们插入两条样例

效果:

若我们想改变表中字段的数据类型

语法:

alter table 【表名】 modify 【字段】 【新类型】;

效果:

若我们想删除某一列

语法:

alter table 【表名】 drop 【列】;

效果:

这里我们删除了某一列后,对应先前添加进去的实例也会删除掉对应的列

若我们想更改表名或者更改表内的字段名

语法:

alter table 【旧表名】 rename 【新表名】;
alter table 【当前表名】 change 【旧字段名】 【新字段名】 【数据类型】;

效果:

3. 删除

语法:

drop table 【表名】;

效果:

三. 数据类型

1. 数据类型分类

2. 数值类型

(1)整数类型

tinyint 的取值范围在 -128 - 127 之间。smallint 的取值范围在 -32768 ~ 32767。mediumint 的取值范围在 -8388608 ~ 8388607。int 的取值范围在 -2147483648 ~ 2147483647。bigint 的取值范围在 -9.22×10¹⁸ ~ 9.22×10¹⁸

不同的数值类型存在的意义在于,可以按需匹配数值范围,有效的节省空间。

(2)bit

bit(n):位字段类型,n表示位数,默认为1,最大为64.

bit 字段在显示时是按照 ASCILL 码的形式显示的。

3. 小数类型

(1)float

float(m,d),m指定显示长度,d指定小数点后的精确位数

当前我们假设 float(4,2)

那么此时就是4位长度,2位精度值

例子1:输入10.986,此时会进行四舍五入得到的结果为 10.99

例子2:输入99.996,此时倘若四舍五入会变成100,与原先的4位不符合,数据库不允许输入

(2)decimal

decimal(m,d),m指定显示长度,d指定小数点后的精确位数

同为小数类型,与float有何区别呢?

float 采用二进制的科学计数法存储,decimal 采用十进制的存储方式将数字解析为字符串

float 会存在精度丢失当小数点后位数多的情况下,而decimal不会

float 一旦创建就不能更改储存大小,decimal 则可以动态的更改大小(m-d+1)

float 运算速度快因为是固定的储存,decimal 灵活但需要的运行时间多

4. 字符串类型

(1)char

char(l),l 是固定的存储长度,最大为255

char(2)

可以存放两个字符,可以是英文也可以是汉字

(2)varchar

varchar(l),l 是可变长的字符串长度,最长为 65535

关于varchar(len),len到底是多大,这个len值,和表的编码密切相关:
varchar长度可以指定为065535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532
当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占 用3个字节],如果编码是gbkvarchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符 占用2字节)。

5. 日期和时间类型

日期类型有三个:

date,datetime,timestamp

date:日期 yyyy-mm-dd 只存在年月日

datetime:日期加上具体的时分秒 yyyy-mm-dd hh:mm:ss

timestamp:这是时间戳,记录当前的年月日时分秒

6. enum 和 set 类型

两个都为枚举类型

enum:枚举为单选

set:枚举可以多选

到此这篇关于MySQL数据类型以及库和表的操作的文章就介绍到这了,更多相关mysql数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL语句中SUM与COUNT的区别深入分析

    SQL语句中SUM与COUNT的区别深入分析

    本篇文章是对SQL语句中SUM与COUNT的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Redis与MySQL的双写一致性问题

    Redis与MySQL的双写一致性问题

    这篇文章只要介绍了Redis与MySQL双写一致性,主要是指在使用缓存和数据库同时存储数据的场景下( 主要是存在高并发的情况),如何保证两者的数据一致性(内容相同或者尽可能接近),感兴趣的同学可以借鉴一下
    2023-03-03
  • MySQL 锁体系从 MDL到间隙锁详解

    MySQL 锁体系从 MDL到间隙锁详解

    本文详细解析了MySQL的锁机制,包括MDL锁、意向锁和锁,并解释了不同锁的的使用场景和潜在问题冲突,强调理解锁机制对以优化数据库性能,感兴趣的朋友一起看看吧
    2026-06-06
  • mysql 修改用户密码图文介绍

    mysql 修改用户密码图文介绍

    有许多朋友经常需要修改mysql修改用户密码,今天提供图文并茂来解决此类问题,需要的朋友可以参考下
    2012-11-11
  • mysql、oracle默认事务隔离级别的说明

    mysql、oracle默认事务隔离级别的说明

    这篇文章主要介绍了mysql、oracle默认事务隔离级别的说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 简单了解MySQL数据库优化技巧

    简单了解MySQL数据库优化技巧

    这篇文章主要介绍了简单了解MySQL数据库优化技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Mysql中时间戳转为Date的方法示例

    Mysql中时间戳转为Date的方法示例

    这篇文章主要给大家介绍了关于Mysql中时间戳转为Date的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • IDEA连接MySQL数据库并执行SQL语句使用数据图文详解

    IDEA连接MySQL数据库并执行SQL语句使用数据图文详解

    使用idea连接本地MySQL数据库,就可以很方便的看到数据库的内容,还可以进行基本的增加,删除,修改操作,下面这篇文章主要给大家介绍了关于IDEA连接MySQL数据库并执行SQL语句使用数据的相关资料,需要的朋友可以参考下
    2023-03-03
  • 如何使用C/C++链接mysql数据库

    如何使用C/C++链接mysql数据库

    本文给大家介绍了MySQL数据库的安装方法(手动导入或系统指令)及接口使用流程,包括初始化、链接、执行SQL、获取结果、释放内存等关键步骤,强调编码设置为UTF-8、正确处理头文件路径和内存泄漏问题,感兴趣的朋友跟随小编一起看看吧
    2025-09-09
  • MySQL如何查看元数据锁阻塞在哪里

    MySQL如何查看元数据锁阻塞在哪里

    这篇文章主要介绍了MySQL如何查看元数据锁阻塞在什么地方的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10

最新评论