1. DROP 语句:撤销索引、撤销表以及撤销数据库
1)DROP INDEX 语句:删除表中的索引
ALTER TABLE table_name DROP INDEX index_name(Mysql中)
2)DROP TABLE 语句用于删除表
DROP TABLE table_name
3)DROP DATABASE 语句用于删除数据库
DROP DATABASE database_name
4)TRUNCATE TABLE:仅仅删除表内的数据,但并不删除表本身
TRUNCATE TABLE table_name
2. ALTER TABLE 语句:在已有的表中添加、删除或修改列。
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN column_name
ALTER TABLE table_name MODIFY COLUMN column_name datatype // 改变数据类型
3. AUTO_INCREMENT字段:Auto-increment 会在新记录插入表中时生成一个唯一的数字。
下面的 SQL 语句把 "Persons" 表中的 "ID" 列定义为 auto-increment 主键字段:(Mysql)
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
默认地,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。
要让 AUTO_INCREMENT 序列以其他的值起始,请使用下面的 SQL 语法:
ALTER TABLE Persons AUTO_INCREMENT=100
在 "Persons" 表中插入新记录,我们不必为 "ID" 列规定值(会自动添加一个唯一的值):
INSERT INTO Persons (FirstName,LastName) VALUES ('Lars','Monsen')
给已经存在的colume添加自增语法:
ALTER TABLE table_name CHANGE column_name column_name data_type(size) constraint_name AUTO_INCREMENT;
ALTER TABLE student CHANGE id id INT( 11 ) NOT NULL AUTO_INCREMENT;
4. 视图(Views)
1) CREATE VIEW 语法
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
2)如果是想添加列等操作,必须重新更新视图
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
3)撤销视图
DROP VIEW view_name
5. Date函数
1)内建日期函数:
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间的单独部分
DATE_ADD() 向日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间
2)Date数据类型
MySQL 使用下列数据类型在数据库中存储日期或日期/时间值:
DATE - 格式:YYYY-MM-DD
DATETIME - 格式:YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS
YEAR - 格式:YYYY 或 YY
6. NULL值
默认地,表的列可以存放 NULL 值。NULL 用作未知的或不适用的值的占位符。
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL
7. NULL函数
如果UnitsOnOrder不是NULL,则返回UnitsOnOrder,是NULL,则返回0
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products // 返回第一个非空值,支持在多个参数中找到非空值,ISNULL只支持一个