十三、一些注意事项

一、不要使用保留字和保留字符作为表、列的名称

保留字包括但不限于:SELECT、INSERT、DATE等;

保留字符包括但不限于:*,(),%等;

通配符:

'%':在LIKE子句中代表多个字符;

'_' :在LIKE子句中代表1个字符;

'!':感叹号等于NOT。

注意:'_'下划线除外,它在列名或表名中表示空格。


二、ANY、ALL和SOME

1.ALL,在子查询中表示IN的集合

SELECT name,rating FROM restaurant_ratings

WHERE rating > ALL

(SELECT rating FROM restaurant_ratings WHERE rating >3 AND rating<9);

大于ALL可以找出任何大于集合中最大值的值,同理,小于ALL可以找出任何小于集合中最小值的值

2.ANY,只需大于或小于集合中的最小值或最大值

SELECT name,rating FROM restaurant_ratings

WHERE rating >ANY

(SELECT rating FROM restaurant_ratings WHERE rating >3 AND rating<9);

大于ANY可以找出任何大于集合中最小值的值,同理,小于ANY可以找出任何小于集合中最大值的值

最后,SOMEANY表示相同的意思。


三、数据类型

1.BOOLEAN

只能存储'TRUE'、'FALSE'或NULL;

2.INT

① 存储的数值范围:0到4294967295(42亿9500万),称为无符号整数(unsigned integer);

② 如果想使用正负整数值,需采用有符号整数(signed integer),

数值范围是:-2147483648(负21亿47万)到2147483648,语法 INT(SIGNED)

③ SMALLINT和BIGINT

SMALLINT:

无符号整数数值范围0到65535

有符号整数数值范围-32768到32768

BIGINT:

可以理解为正负无穷

有符号整数数值范围正负9百亿亿

无符号整数数值范围0到1800亿亿

④ TINGINT和MEDIUMINT

TINGINT:

无符号整数数值范围0到255

有符号整数数值范围-128到128

MEDIUMINT:

无符号整数数值范围0到16777218(1670万

有符号整数数值范围-8388608到8388608(838万

3.DATE和TIME类型

DATE:YYYY-MM-DD

DATETIME:YYYY-MM-DD HH:MM:SS

TIMESTAMP:YYYYMMDDHHMMSS

TIME:HH:MM:SS

MYSQL处理时间的函数DATE_FORMAT()

SELECT DATEFORMAT(date_colmun_name,'%M%Y') FROM table_name;


四、临时表

1.MYSQL创建临时表

CREATE TEMPORARY TABLE table_name

(

id INT,

column_name VARCHAR(30)

);

2.用SELECT创建临时表

CREATE TEMPORARY TABLE table_name AS

SELECT * FROM table_name;


五、转换数据类型

1.因为列采用某种数据类型,但是希望查询的结果是另一种类型,可用CAST()函数:

CAST(column_name,TYPE)

TYPE可以从以下类型中选择:

CHAR()

DATE

DATETIME

DECIMAL

SIGNDE[INTEGER]

TIME

UNSINGNED[INTEGER]

2.不能使用CAST()的场合

① 从浮点数转换为整数,即DEC变INT;

② 从TIME、DATE、DATETIME、CHAR转换为DECIMAL或INTEGER。

你可能感兴趣的:(十三、一些注意事项)