MySQL数据表相关操作-创建与测试数据类型
来源:互联网 发布:淘宝店包邮怎么做 编辑:程序博客网 时间:2024/05/22 06:49
1.MySQL中的数据类型
mysql中的数据类型分为五种:整数类型、浮点类型、字符串类型、日期时间类型、二进制类型(较少用到)
每种数据类型查看范围和字节数即可,若不懂字节与大小关系的可以看看计算机基础的知识,下面只贴出数据类型作为参考和记忆,不做赘述
1.1整数类型
1.2浮点类型
1.3字符串类型
1.4日期时间类型
1.5选择数据类型时应该注意的问题
1.5.1整数类型与浮点数类型
1.如果要表示小数只能用浮点数类型,整数类型不能表示小数
2.浮点类型DOUBLE精度比FLOAT类型高,如果需要精确到10位以上,就应该选择DOUBLE类型
1.5.2浮点数与定点数类型
1.对于精度要求较高的时候需要使用定点数存,因为定点数内部是以字符串形式存储的
定点数:计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变(来自百度百科)
1.5.3CHAR类型和VARCHAR类型和TEXT类型
1.CHAR定长字符串,占用空间大,速度快
2.VARCHAR变长字符串,占用空间小,速度慢
3.TEXT类型是一种特殊的字符串类型。只能保存字符数据,而且不能有默认值
4.它们3个存储和检索数据的方式都不一样,数据检索的效率CHAR>VARCHAR>TEXT
5.CHAR在保存的时候,后面会用空格填充到指定的长度,在检索的时候后面的空格会去掉
6.VARCHAR在保存的时候,不进行填充。当值保存和检索时尾部的空格仍保留
1.5.4日期和时间类型类型
1.YEAR只保存年份,占用空间小
2.其它和日期时间有关的可以通过整型保存时间戳,方便计算
2.MySQL中的存储引擎
存储引擎:存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不同的存储方式、是否进行事务处理等来选择合适的存储引擎。mysql中常用的存储引擎:InnoDB引擎 MyISAM引擎 MEMORY引擎
关于mysql中的存储引擎,可参考点击打开链接,知乎、百度、谷歌上一搜一大把,博客只作为学习,不进一步探讨
2.1对存储引擎的操作
3.MySQL数据表相关操作
3.1什么是表
3.2创建一个数据表
语法:CREATE TABLE [IF NOT EXISTS] tbl_name(
字段名称 字段类型 [完整性约束条件]
...
)ENGINE=引擎名称 CHARSET='编码方式';
字段名称 字段类型 [完整性约束条件]
...
)ENGINE=引擎名称 CHARSET='编码方式';
创建数据表的语句与上一节创建数据库的操作基本类似,不做赘述,先进行最基本的创建操作
在创建一个表时,必须保证打开了一个数据库,不然会报错
提示:
1.在创建数据库和数据表时,名称可以用反斜线标注,防止与mysql关键字冲突,建议最好别起冲突的
2.当创建的数据表中包含中文时,要记得先在mysql中使用SET NAMES 'GBK',使得输出中文不报错
3.字段的注释可以用COMMENT来写注释
如图:
3.3查看数据表
3.4在数据表中测试数据类型
3.4.1测试整型和浮点型
PS:用到的语句有:
INSERT db_name VALUES(); 可以给数据表的字段赋值
SELECT * FROM db_name 读取db_name中的数据
先创建一个数据表,如下:
此时我们进行INSERT db_name VALUES( -129,-32768,-8388608,-2147483648,-9223372036854775808)操作,请对比数据类型里各个数据类型的范围,那么这段语句中的-129超出了TINYINT的范围,所以不会被执行
如果我们在定义数据表时加上ZEROFILL,则会在type的数据类型的括号内没有数值的地方自动补上0
需要注意的是UNSIGNED,这个可以在定义数据表时单独加上,但是加了ZEROFILL后,会自动出现UNSIGNED,UNSIGNES表示为无符号位,则可以通过以下的操作报错和成功,对比数据类型表,会明白其中的体会
创建一个浮点数的数据表,并且依次得到不同数据类型的值,在指定了小数位后系统会自动的四舍五入,像需要高精度(银行、航天参数)时,尽量使用DECIMAL,它内部以字符串存储数据,准确
3.4.2测试字符串类型
PS:需要用到的语句:
SELECT LENGTH(); 获得某个元素的长度
SELECT CHAR_LENGTH(); 获得字符串中字符个数
先创建一个数据表,如下:
创建成功后,向其中插入两个值
在插入数据时要注意不要超过创建时规定的字符串的长度,并观察下图
创建一个枚举类型的表
现在向数据表中插入数据,需要注意:
1.插入的元素必须是枚举类型中的,并且只能插入一个,不能插入多个
2.如果在插入时后面打了空格,则显示时会自动去掉
3.枚举类型在存储时是以序列存储的,不是以枚举类型的值存储的,所以可以以序列值来插入数据,序列以1开始
4.可以向枚举类型中插入NULL,但是不能插入空字符串
通过下图验证:
创建一个SET类型的表
现在向数据表中插入数据,需要注意:
1.SET每次可以插入多个值,多个值用逗号分隔
2.SET中的数据序号是以二进制存储,翻译为十进制为1 2 4 8 16,所以你向表中插入6时,表明插入4 和 2序列的元素
3.即使插入时元素没有按照创建时的顺序排列,在创建完成后,系统会自动的排列,并且SET可以插入NULL和空字符串
下面开始演示:
3.4.3测试时间日期类型
这里只测试YEAR,因为其他时间日期类型时间戳都基本用整型保存创建一个YEAR类型的表
插入数据时应该注意:
1.插入时可以直接输入年份,也可以以字符串形式输入
2.输入01-69则会自动变成2001-2069中的年份,若输入70-99,则会变成1970-1999的年份
3.输入0,则会变成0000,输入‘0’,则会变成2000
进行演示:
参考于麦子学院mysql基础
0 0
- MySQL数据表相关操作-创建与测试数据类型
- MYSQL的创建数据表及测试数据类型
- MySQL数据表相关操作-修改与删除
- MySQL之创建与操作数据表
- 创建mysql数据表基础操作
- MySQL数据表创建删除操作
- MySQL创建与查看数据表
- mysql 数据类型与操作数据表
- MySQL数据类型与操作数据表
- MySQL数据表类型与存储引擎类型
- Mysql 测试数据类型
- MySQL数据表相关操作-完整性约束条件
- mysql数据库数据表的相关操作
- Django下mysql数据库的相关操作(创建数据表、以及增删查改)
- 8、MySQL-数据表的创建及操作
- MySql学习--数据表的基本操作--创建数据表
- MySQL数据表的基本操作一:创建表与表约束
- 【MySQL】(2)数据类型与操作数据表
- git
- mvc:exclude-mapping
- swing选择文件并获取文件路径
- 01背包第K最优解 HDU
- A
- MySQL数据表相关操作-创建与测试数据类型
- 计算机基础之牛客网刷题第三篇
- 创建后台任务的两种代码模式
- 关于高德地图获取Key失败
- Canvas之translate、scale、rotate、skew方法讲解!
- 若格的全志R8开发板配置为rtl8188eusV1.0(分色排版)
- LintCode 424-逆波兰表达式求值
- 开启Java8来启用Lambda表达式在Android Studio的一些配置
- 全栈必备 JavaScript基础