SQL 学习笔记5
参考:http://www.w3school.com.cn/sql/sql_alter.asp
- ALTER TABLE语句
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
ALTER TABLE 语法:
(1)如果在表中添加列,请使用下列语法:
ALTER TABLE table_name ADD column_name datatyp
(2)如果要删除表中的列:
ALTER TABLE table_name DROP COLUMN column_name
(3)要改变表中列的数据类型:
ALTER TABLE table_name ALTER COLUMN column_name datatype - SQL DATA 函数
MYSQL Data 函数
SQL Server Data函数
MYSQL 使用下列数据类型在数据库中存储日前或日期/时间值:
(1)DATE - 格式 YYYY-MM-DD
(2)DATETIME - 格式: YYYY-MM-DD HH:MM:SS
(3)TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
(4)YEAR - 格式 YYYY 或 YY
SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:
(1)DATE - 格式 YYYY-MM-DD
(2)DATETIME - 格式: YYYY-MM-DD HH:MM:SS
(3)SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
(4)TIMESTAMP - 格式 唯一的数字
SQL 日期处理
假设我们有下面这个“Orders”表:
我们希望从上表中选取 OrderDate 为 “2008-12-26” 的记录。
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
如果 “Orders” 类似这样(请注意 “OrderDate” 列中的时间部分):
我们使用上面的select语句,我们得不到结果。
3. SQL NULL 值
NULL值是遗漏的未知数据。默认的,表的列可以存放null值。
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以NULL值保存。
NULL值的处理方式与其他值不同。NULL用作未知的或不适用的值。无法比较NULL和0,他们是不等价的。用IS NULL 和IS NOT NULL操作符来测试NULL值。
SQL IS NULL
选取在 “Address” 列中带有 NULL 值的记录:
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL
- SQL ISNULL(),NVL(),IFNULL()和COALESCE()函数
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products
在上面的例子中,如果有 “UnitsOnOrder” 值是 NULL,那么结果是 NULL。微软的 ISNULL() 函数用于规定如何处理 NULL 值。NVL(), IFNULL() 和 COALESCE() 函数也可以达到相同的结果。在这里,我们希望 NULL 值为 0。下面,如果 “UnitsOnOrder” 是 NULL,则不利于计算,因此如果值是 NULL 则 ISNULL() 返回 0。
SQL Server/MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products
MySQL
MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。在 MySQL 中,我们可以使用 IFNULL() 函数
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products
- SQL 服务器-RDBMS
现代的SQL服务器构建在RDBMS(Relational Database Management System)
关系数据库管理系统是一种数据库管理系统,其数据库是根据数据间的关系来组织和访问数据。