0%

SQL进阶操作(5)

视图

视图是基于SQL语句得到结果集的可视化表。

CREATE VIEW

语法

  • 创建视图
1
2
3
4
CREATE VIEW view_name AS
SELECT column1, column2, column3
FROM table_name
WHERE condition;
  • 查询视图
1
SELECT * FROM view_name;
  • 更新视图

在SQL中,无法直接更新视图。更新视图所基于的表中的数据,视图将会反应表中的变化。

  • 删除视图
1
DROP VIEW view_name;

DATE函数

  • MySQL重要内建日期函数。
函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期表达式的日期部分
EXTRACT() 返回日期时间的单独部分
DATE_ADD() 向日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间
  • MySQL存储日期的数据类型
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:MM:SS
TIMESTAMP YYYY-MM-DD HH:MM:SS
YEAR YYYY / YY

语法

1
2
SELECT * FROM table_name
WHERE column_name='YYYY-MM-DD';

NULL值

NULL值代表遗漏的未知数据。如果某个列的数据是可选地,在不插入值的情况下可以对该列插入一条记录,该列对应的记录将以NULL值保存。

语法

  • 选取带有NULL值的记录
1
2
3
SELECT column1, column2, column3
FROM table_name
WHERE column4 IS NULL;
  • 选取不带有NULL值的记录
1
2
3
SELECT column1, column2, column3
FROM table_name
WHERE column4 IS NOT NULL;

NULL函数

  • 如果column3里存在NULL值,则IFNULL()返回0。
1
2
SELECT column1, column2*(IFNULL(column3, 0))
FROM table_name;

SQL通用数据类型

数据类型 描述
CHAR(size) 字符/字符串,固定长度size。
VARCHAR(size) 字符/字符串,可变长度,最大长度size。
DATE 存储年、月、日
TIME 存储时、分、秒
TIMESTAMP 存储年、月、日、时、分、秒