MySQL表的创建及字段介绍(小白入门篇)
作者:Hunter后端
引言
“ 这是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表创建表字段的资料请关注脚本之家其它相关文章!