首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库应用总结(八)—MySQL数据库的数据类型和运算符(下)

SQL语法预览:

创建表字段数据类型:【createtable 表名(字段名称 数据类型); 】

插入字段值:【insert into表名 values(值1,值2,...,值n);】

查看格式化值:【select* 或 【格式1,格式2,...,格式n】from 表名;】

详解:

接上期...

二、选择数据类型的方法

MySQL提供大量的数据类型,为了优化存储,提高数据库性能,在任何情况下都应使用最精确的类型。即选择占用存储空间最少的类型。

1.整数和浮点数

有小数用浮点数,没有就用整数。但注意浮点数存储小数时会自动进行四舍五入。浮点包括float和double。double比float要求的精度更高,所以当要求存储精度高时用double。

2.浮点数和定点数

浮点数float和double相对于定点数decimal来说优点是:在长度一定的情况下浮点数表示的范围更大。但由于浮点数容易产生误差,因此,如果对精度要求比较高则用decimal来存储。

Decimal在MySQL中是以字符串存储的,用于定义货币等对精度要求比较高的数据。注意定点数decimal标准定义格式只有decimal(M,D),其他的像float(M,D)是不标准的,在数据库迁移时会出问题。

3.日期与时间类型

仅仅记录年份用year即可,记录时间time即可,都记录timestamp和datetime都可以,但如果存储较大日期用相对范围大的datetime类型。

但是如果插入记录同时需要记录插入记录时的时间,那么使用timestamp是最方便的。

4.char与varchar类型

char存储固定长度字符,varchar存储可变长度字符。Char会自动删除插入数据的尾部空格,varchar不会删除尾部空格。

char采用固定长度,所以它的处理速度比varchar要快,但它的缺点就是浪费空间。所以随存储长度不大,但在检索速度上有要求的数据可以使用char类型,反之可以使用varchar来实现。

对于MyISAM存储引擎,最好使用固定长度的数据代替可变长度,这样可以使整个表静态化,从而使数据检索更快,用空间换时间。

对于InnoDB存储引擎,使用可变长度数据列。因为InnoDB数据表的存储区格式不分固定长度和可变长度,由于varchar按实际长度存储节省空间,所以对磁盘I/O和独具存储总量说比较好。

5.enum与set类型

enum只能取单值,他的数据列是一个枚举集合。它的合法取值列表最多允许有65535个成员。因此,在需要从多个值中选取一个时,可以使用enum。例如性别字段适合定义为enum类型。

Set可以取多个值。它的合法取值列表最多允许有64个成员。空字符串可是一个合法的set值。在需要取多个值时适合使用set类型。如一个人的兴趣爱好。

Enum和set的值是以字符串的形式出现的,但在内部,MySQL以数值的形式存储它们。

6.blob与text类型

blob是二进制字符串,text是非二进制字符串,两者均可存放大量的信息。Blob主要存储图片、音频信息等,而text只能存储纯文本文件。

三、常见的运算符介绍

运算符是告诉MySQL执行特殊算术或逻辑操作的符号。MySQL的内部运算符很丰富,主要有四大类:算数运算符、比较运算符、逻辑运算符和位操作运算符。

1.运算符概述

(1)算术运算符

算术运算符用于各种数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)。

(2)比较运算符

比较运算符用于比较运算,包括大于(>)、小于(=)、小于等于(

(3)逻辑运算符

逻辑运算符的求值结果均为1(TRUE)、0(FALSE),这类运算有逻辑非(NOT或者!)、逻辑与(AND或者&&)、逻辑或(OR或者)、逻辑异或(XOR)。

(4)位操作运算符

参与运算的操作数,按二进制位进行运算。包括位与(&)、位或()、位非(~)、位异或(^)、左移()6种。

2.算数运算符

案例

创建表tb_temp13,定义数据类型为int的字段num,插入值128,并对其进行加减乘除求余运算,SQL语句如下:

命令语句

create table tb_temp13(num int);

insert into tb_temp13 values(128);

select num,num+2,num-2,num*2,num/2,num%2,num+2-2*2 from tb_temp13;

执行结果如下:

3.比较运算符

案例

任意进行数字、字符、表达式的比较判断,执行结果如下:

4.逻辑运算符

在SQL中所有的逻辑运算符的求值结果均为TRUE,FALSE或NULL。在MySQL中体现为1(TRUE)、0(FALSE)和NULL。

案例

使用1、、null等操作数演示逻辑运算符,运行结果如下:

5.位运算符

案例

用数字0、1、2、4、9、10、15演示位所有运算符,运行如下:

6.运算符的优先级

运算符的优先级决定了不同运算符在表达式中计算的先后顺序,下表给出了各类运算符的优先级,越靠前优先级越高,但一般我们采用圆括号“()”来改变优先级顺序。

以上便是MySQL数据类型和表达式的用法介绍!

SQL语法总结:

创建表字段数据类型:【createtable 表名(字段名称 数据类型); 】

插入字段值:【insert into表名 values(值1,值2,...,值n);】

查看格式化值:【select* 或 【格式1,格式2,...,格式n】from 表名;】

end

欢迎关注互动|未来科技008

欢迎关注互动|十年之前diary

十年之前diary

文学随笔,生活点滴

广读胸中有本,勤写笔下生辉

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180101G0AO0X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券