SQL学习_常用语法2

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只支持一个

猜你喜欢

转载自blog.csdn.net/canglan211/article/details/81429226