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
文学随笔,生活点滴
广读胸中有本,勤写笔下生辉
领取专属 10元无门槛券
私享最新 技术干货