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数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL索引踩坑合集从入门到精通

    MySQL索引踩坑合集从入门到精通

    本文详细介绍了MySQL索引的使用,包括索引的类型、创建、使用、优化技巧及最佳实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-11-11
  • MySQL入门教程(五)之表的创建、修改和删除

    MySQL入门教程(五)之表的创建、修改和删除

    MySQL 为关系型数据库(Relational Database Management System), 本文给大家介绍MySQL入门教程(五)之表的创建、修改和删除,需要的朋友一起学习吧
    2016-04-04
  • MySQL实现查询处理JSON数据的示例详解

    MySQL实现查询处理JSON数据的示例详解

    这篇文章主要为大家详细介绍了MySQL如何实现查询处理JSON数据,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • 优化mysql的limit offset的例子

    优化mysql的limit offset的例子

    在mysql中,通常使用limit做分页,而且经常会跟order by 连用。在order by 上加索引有时候是很有帮助的,不然系统会做很多的filesort
    2013-02-02
  • ubuntu系统中安装mysql5.6(通过二进制)

    ubuntu系统中安装mysql5.6(通过二进制)

    今天工作中需要对一台ubantu的系统安装mysql,因为以前一直使用的是centos,虽然它也是类unix但是和redhat或centos命令上还是有点差别。所以通过网上查阅资料,终于安装成功了,现在将步骤分享给大家,有需要的朋友们可以参考借鉴。
    2016-10-10
  • MySQL慢日志实践小结

    MySQL慢日志实践小结

    这篇文章主要介绍了MySQL慢日志实践小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • MySQL半同步复制原理配置与介绍详解

    MySQL半同步复制原理配置与介绍详解

    这篇文章主要介绍了MySQL半同步复制原理配置与介绍详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • MYSQL查看表是否被锁以及解锁过程

    MYSQL查看表是否被锁以及解锁过程

    这篇文章主要介绍了MYSQL查看表是否被锁以及解锁过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • MySQL分批插入/更新数据方式

    MySQL分批插入/更新数据方式

    文章介绍了如何使用MySQL分批插入/更新数据,以避免大 SQL 语句导致的更新失败或抛出异常,通过手写分批代码或使用 Guava 库的 partition 方法,可以简化批量操作,同时,文章还提到如何使用 partition 方法进行分组查询
    2025-02-02
  • MySQL配置文件my.ini全过程

    MySQL配置文件my.ini全过程

    这篇文章主要介绍了MySQL配置文件my.ini全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论