MySQL表的创建及字段介绍(小白入门篇)

 更新时间:2023年05月19日 09:25:52   作者:Hunter后端  
这篇文章主要为大家介绍了MySQL表的创建及字段介绍(小白入门篇),有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

 这是MySQL系列笔记的第一篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或者个人知识点查阅。

库的下一级单位是表,表再往下是字段,所以这一篇笔记我们先介绍一下表字段,然后再介绍如何创建表的操作

  • 表字段介绍
  • 创建表
  • 查看表信息

1、表字段介绍

这里介绍几种常用的字段类型:

varchar

可变长字符,这个可变针对的是 MySQL 底层对该字段存储的长度是可变的

比如我们给某字段定义 varchar(100),当我们插入数据,给该字段传入 10个字符,或者100个字符都是可以的,MySQL 会根据给定字符串来存储长度

与之对应的是 char 这是定长字符,当我们定义 char(100),我们可以存储 10个字符,也可以存储100 个字符,但不管我们存多少, MySQL 在底层对这个字段都会给出 100 个字符长度存储

varchar 字节可存储范围为 0-65535,但实际上并不能真的存储这么长的字节数

如果字节长度不超过 255,则需要一个字节来存储长度,

如果长度超过255则额外需要两个字节来存储长度

还有一些其他的原因,导致 varchar 的最大存储长度是会小于 65535 的

int

整型,用于储存证书,四个字节,一个字节八位,所以存储的范围 -2 ^ (48 - 1) ~ 2 ^ (48 - 1) - 1,也就是 -2^31 ~ 2^31 - 1

datetime

日期时间,包括年月日时分秒的数据

text

文本字段,可以存储 65535 个字节到 64kb 的数据,记住一点,text 字段是个筐,啥都往里装。

2、创建表

以下是创建一张表的基本语法:

create table if not exists table_name(
 id int not null auto_increment primary key,
 name varchar(100) not null,
 num int default 0
);

在我们进入 MySQL 之后,use 一个 DATABASE 就可以运行上面的创建表的命令。

第一行有一个 if not exists,后面紧跟着将要创建的表名,表示如果不存在该表,则创建

第二行,id int not null 是表示创建的 id 字段不允许为 null,auto_increment 参数表示是自增,primary key 则表示是主键

第三行表示 name 字段为 varchar(100) 字符串类型,且长度最大为 100个字符长度,not null 表示该字段不允许为 null

第四行表示 num 字段为整型数据,且 default 是默认值为 0

3、查看表信息

我们可以通过 DESC 命令来查看一张表的基本信息:

DESC table_name;

大致会显示下面的内容:

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(100) | NO   |     | NULL    |                |
| num   | int(11)      | YES  |     | 0       |                |
+-------+--------------+------+-----+---------+----------------+
 

返回的就包含了这张表所有的信息

Field 这列表示的是字段名

Type 表示的是字段类型,比如 int, varchar 等

Null 表示是否允许为 Null 值,No 表示不允许为 Null

Key 表示该字段是否有一些约束信息,比如 主键 PRI,或者 唯一键 UNI

Default 表示该字段的默认值

Extra 这一行是一些额外的信息,比如 auto_increment 自增的属性

可以看到, DESC table_name 命令这条命令之后,将我们创建表的属性都展示了出来。

创建相同表

如果是想创建一张和某表一样表结构的表,可以用下面下面的命令获得创建表的语句:

show create table table_name;

然后就可以获得创建该表的 sql 语句,把创建的表名更改为需要新建的表名运行就可以了。

以上就是MySQL表的创建及字段介绍(小白入门篇)的详细内容,更多关于MySQL表创建表字段的资料请关注脚本之家其它相关文章!

相关文章

  • MySQL报错1118,数据类型长度过长问题及解决

    MySQL报错1118,数据类型长度过长问题及解决

    在使用MySQL过程中,常见的一个问题是报错1118,这通常发生在创建表时,错误提示为“Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual
    2024-10-10
  • MSQL中DATETIME或TIMESTAMP的区别小结

    MSQL中DATETIME或TIMESTAMP的区别小结

    MySQL中的 DATETIME 和 TIMESTAMP 类型都用于存储日期和时间信息,本文主要介绍了MSQL中DATETIME或TIMESTAMP的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • MySQL OOM 系列一 Linux内存分配

    MySQL OOM 系列一 Linux内存分配

    今天想提到的是线上一个4G的RDS实例,发生了OOM(out of memory)的问题,MySQL进程被直接Kill掉了。在解释这个问题的时候,我们首先需要从Linux系统内存分配策略讲起
    2016-07-07
  • Mysql中NTILE()函数的具体使用

    Mysql中NTILE()函数的具体使用

    NTILE()函数用于将分区中的有序数据分为n个等级,本文主要介绍了Mysql中NTILE()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • MySQL索引失效场景及解决方案

    MySQL索引失效场景及解决方案

    这篇文章主要介绍了MySQL索引失效场景及解决方案,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • MySQL批量修改表及表内字段排序规则举例详解

    MySQL批量修改表及表内字段排序规则举例详解

    在MySQL中字段排序规则(也称为字符集和排序规则)用于确定如何比较和排序字符串,下面这篇文章主要给大家介绍了关于MySQL批量修改表及表内字段排序规则的相关资料,需要的朋友可以参考下
    2024-05-05
  • mysql8.0.30安装配置最详细教程(windows 64位)

    mysql8.0.30安装配置最详细教程(windows 64位)

    这篇文章主要给大家介绍了关于windows 64位下mysql8.0.30安装配置的相关资料,主要以图片的形式展示安装教程x,简单易懂,小白专属,需要的朋友可以参考下
    2022-09-09
  • 解决mysql5.6 utf8设置无效问题

    解决mysql5.6 utf8设置无效问题

    这篇文章主要介绍了mysql5.6 utf8设置无效问题,本文虽然内容不长,但是解决方法给出,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 详解如何对MySQL数据库进行授权管理

    详解如何对MySQL数据库进行授权管理

    MySQL数据授权是指数据库管理员通过设置权限,控制用户对数据库中的数据的访问和操作能力,在MySQL中,每个用户账户都有特定的权限,本文给大家介绍了如何对MySQL数据库进行授权管理,需要的朋友可以参考下
    2024-11-11
  • Mysql 日期时间 DATE_FORMAT(date,format)

    Mysql 日期时间 DATE_FORMAT(date,format)

    Mysql 日期时间 DATE_FORMAT(date,format) ,需要的朋友可以参考下。
    2010-12-12

最新评论