h5模板网站免费,青岛app开发公司,wordpress 站点描述,产品全网营销推广目录 前言 一、表的操作 1.创建一个表 2.查看表的结构 3.修改表 4.删除一个表 二、 MySQL的数据类型 0.数据类型一览#xff1a; 1.整数类型 2.位类型 3.小数类型 4.字符类型 前言
在MySQL库的操作一文中介绍了有关MySQL库的操作#xff0c;本节要讲解的是由库管理的结构——… 目录 前言 一、表的操作 1.创建一个表 2.查看表的结构 3.修改表 4.删除一个表 二、 MySQL的数据类型 0.数据类型一览 1.整数类型 2.位类型 3.小数类型 4.字符类型 前言
在MySQL库的操作一文中介绍了有关MySQL库的操作本节要讲解的是由库管理的结构——表 一、表的操作
1.创建一个表
语法
creat table [表的名字]
([列的名字] [列存储数据的类型][列的名字] [列存储数据的类型],[列的名字] [列存储数据的类型]
)charaset [字符集] collate [校验集] engine[存储引擎]; 说明 ①字符集、校验集、存储引擎可以不写不写MySQL按照默认值进行设置。 ②对列进行构写的时候要使用 () 而不是 {}。 ③最后以分号结尾。 示例创建一个名为Person的表表中有三列数据分别是姓名、年龄、体重使用默认字符集、校验集、存储引擎。 图1 创建表示例 2.查看表的结构
语法
desc [表名] 图2 查看表中内容示例 3.修改表
语法
alter table [表名] [add(添加)] [列名1] [属性] comment(添加注释(可选)) after/before(8.0版本以上支持) [列名2];alter table [表名] [modify(修改)] [列名] [属性];alter table [表名] [drop(删除)] [列名] [属性]; 说明 其中对于add操作可以选在在某一列前(before)或后(after)添加一列属性不过在某一列前添加属性在MySQL8.0后才支持。语义是列名1在列名2后或前添加一列名为列名1的列。 图3 添加一列示例 图4 修改列属性示例 图5 删除一列示例 4.删除一个表
语法
drop table [表的名字] 图6 删除一个表示例 二、 MySQL的数据类型
0.数据类型一览
数值类型包括整形、bit类型(位类型)、小数类型、字符串类型 图7 MySQL数据类型一览 1.整数类型 说明 图8所示的类型其实与编程语言中的整数类型相似只不过不同的类型表示的数据范围不同 图8 整形 图9 向tinyint插入数据示例 从上图中我们不难发现对于超出数据类型大小的数据MySQL不允许用户进行插入对于满足数据范围的数据会进行插入而不是想编程语言一样发生“数据截断”。这是因为数据库需要保证插入的数据尽可能是正确的但是发生截断的数据一定不符合该要求所以这样的操作也是为了告诉程序员插入数据有问题的一种方式。 其它的整数类型也与tinyint相似这里就不过多赘述了。
2.位类型 图10 bit类型插入数据示例 说明 在早期的MySQL版本中bit类型是通过ASC||码进行显示的但这样就面临一个问题当ASC||码值前32位是控制字符在计算机中是不可显示的。所以在早期的bit类型下插入较小的数值后是不进行显示的但是随着版本的更迭在一些MySQL版本中我们已经可以显示看到bit类型的任何大小的值。其实只要改变显示的方式在早期版本中也可以显示bit类型数据的值。 图11 ASC||对照表 图12 bit类型数据无法显示示例 3.小数类型
语法
float(m,d) [unsigned(可选)]
decimal(m,d) [unsigned(可选)] 说明 ①m表示一共有多少位d表示有几位小数。 ②float精度大约只有7位 ③decimal支持的m最大值65d支持的最大值是30。decimal的m、d的默认值 ④float在超出精度是会对超出精度的部分采用“四舍五入”的方式保存数据 ⑤对于无符号的小数类型的数据他们的取值范围不像整数类型一样近似扩大2倍无符号小数类型的数据是插入负数非法正数范围与有符号时相同。 ⑥同整数类型一样小数类型不允许插入超过数据存储范围的值。 图13 使用默认值创建小数列 此时由于float没有进行设置并且没有默认值所以是无法向f列中插入任何数据的。 所以需要修改一下表 图14 表修改后的数据 这个时候我们想表中插入数据并查看插入结果 图15 向修改后的表插入数据 我们不难发现float类型只能保留大约7位的进度对于超出精度的部分会令数据丢失。但是对于decimal类型保存数据的精度在相同情况下比float类型更好。
4.字符类型
语法
char(M) //m最大值为255 存储单位字符
varchar(M) //m最大值为65535 存储单位字节
date //插入格式 yyyy-mm-dd
datetime //插入格式 yyyy-mm-dd hh:ii:ss
timestamp //随着插入更新当插入是该列对应的时间变为插入时间
enum(选项1,选项2,选项3,...); //单选类型
set(选项值1,选项值2, ...); //多选类型 说明 ①char与varchar都是字符串类型二者的区别在于当数据未能占满数据类型大小时处理的手段 定长字符串比较浪费空间资源但是效率高变长字符串更节省空间其使用空间的规则是用多少开辟多少这也就导致了它的效率更低。 ②注意由于变长字符串的“变长”特性varchar中需要额外的1-3个字节用来存储已经使用的空间大小所以实际上varchar的存储最大字节数应该是65532字节。 ③注意char与varchar的单位不一样一个是字符一个是字节在utf-8的编码逻辑下一个字符占3个字节所以在utf-8字符集逻辑下char类型的最大存储字节数应该是255*3 varchar可存储的最大字符数应该是65532/3。 //表创建语句
create table test_char ( name varchar(20),ID char(10),day date,canlender datetime,holiday enum(星期天,星期六),num set(1,2,3));//表插入语句
insert into test_char values(zhang,12345,1985-7-1,1986-7-1 15:21:12,星期天,1,2); 图16 字符类型数据插入示例 请注意以上的插入只为了证明对应类型的性质并没有实际意义在具体应用中应该明确每一列的意义。不要模仿文中的行为。