• SQL


    SQL 对大小写不敏感.
    某些数据库系统要求在每条 SQL 命令的末端使用分号。
    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
    •SELECT - 从数据库表中获取数据
    •UPDATE - 更新数据库表中的数据
    •DELETE - 从数据库表中删除数据
    •INSERT INTO - 向数据库表中插入数据
    •CREATE DATABASE - 创建新数据库
    •ALTER DATABASE - 修改数据库
    •CREATE TABLE - 创建新表
    •ALTER TABLE - 变更(改变)数据库表
    •DROP TABLE - 删除表
    •CREATE INDEX - 创建索引(搜索键)
    •DROP INDEX - 删除索引
    SELECT 列名称 FROM 表名称
    SELECT DISTINCT 语句
    在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)

    的值。
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 OR 列 运算符 值
    ORDER BY 语句用于对结果集进行排序。
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值 ORDER BY 列 DESC
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值 ORDER BY 列 ASC
    INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    DELETE FROM 表名称 WHERE 列名称 = 值
    SELECT TOP number|percent column_name(s) FROM table_name
    SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
    LIKE '_eorge'
    表中选取第一个字符之后是 "eorge" 的
    LIKE '[ALN]%'
    选取 "A" 或 "L" 或 "N" 开头
    表中选取不以 "A" 或 "L" 或 "N" 开头的:
    LIKE '[!ALN]%'
    SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
    SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
    在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
    SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON

    table_name1.column_name=table_name2.column_name
    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中

    没有匹配的行。
    SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON

    table_name1.column_name=table_name2.column_name
    RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中

    没有匹配的行。
    SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON

    table_name1.column_name=table_name2.column_name
    只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
    SELECT column_name(s) FROM table_name1 FULL JOIN table_name2  ON

    table_name1.column_name=table_name2.column_name
    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
    SELECT column_name(s) FROM table_name1
    UNION UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
    SELECT column_name(s) FROM table_name2

    SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
    SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename
    SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename

    CREATE DATABASE 用于创建数据库。
    CREATE DATABASE database_name

    CREATE TABLE 表名称
    (
    列名称1 数据类型,
    列名称2 数据类型,
    列名称3 数据类型,
    ....
    )
    NOT NULL 约束
    NOT NULL 约束强制列不接受 NULL 值。
    每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
    PRIMARY KEY 约束
    PRIMARY KEY 约束唯一标识数据库表中的每条记录。
    CHECK 约束
    CHECK 约束用于限制列中的值的范围。
    DEFAULT 约束用于向列中插入默认值。
    如果没有规定其他的值,那么会将默认值添加到所有的新纪录。

    如需撤销 DEFAULT 约束
    DROP DEFAULT

    CREATE INDEX index_name
    ON table_name (column_name)
    DROP 语句,可以轻松地删除索引、表和数据库。
    DROP TABLE 表名称
    DROP INDEX index_name ON table_name
    DROP DATABASE 数据库名称

    仅需要除去表内的数据,但并不删除表本身
    TRUNCATE TABLE 表名称

    ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
    ALTER TABLE table_name ADD column_name datatype
    ALTER TABLE table_name DROP COLUMN column_name
    ALTER TABLE table_name ALTER COLUMN column_name datatype

    MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务

    SQL DROP VIEW Syntax
    DROP VIEW view_name
    在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
    视图包含行和列,就像一个真实的表。

    GETDATE() 返回当前日期和时间
    DATEPART() 返回日期/时间的单独部分
    DATEADD() 在日期中添加或减去指定的时间间隔
    DATEDIFF() 返回两个日期之间的时间
    CONVERT() 用不同的格式显示日期/时间

    •DATE - 格式 YYYY-MM-DD
    •DATETIME - 格式: YYYY-MM-DD HH:MM:SS
    •SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
    •TIMESTAMP - 格式: 唯一的数字

    使用 IS NULL 来查找 NULL 值。
    IS NOT NULL  to get 不带有 NULL 值的记录
    datetime 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。 8 bytes
    datetime2 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。 6-8 bytes
    smalldatetime 从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。 4 bytes
    date 仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。 3 bytes
    time 仅存储时间。精度为 100 纳秒。 3-5 bytes
    datetimeoffset 与 datetime2 相同,外加时区偏移。 8-10 bytes
    timestamp 存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟

    ,不对应真实时间。每个表只能有一个 timestamp 变量。 

    AVG(column) 返回某列的平均数
    BINARY_CHECKSUM  
    CHECKSUM  
    CHECKSUM_AGG  
    COUNT(column) 返回某列的行数(不包括NULL值)
    COUNT(*) 返回被选行数
    COUNT(DISTINCT column) 返回相异结果的数目
    FIRST(column) 返回在指定的域中第一个记录的值(SQLServer2000 不支持)
    LAST(column) 返回在指定的域中最后一个记录的值(SQLServer2000 不支持)
    MAX(column) 返回某列的最高值
    MIN(column) 返回某列的最低值
    STDEV(column)  
    STDEVP(column)  
    SUM(column) 返回某列的总和
    VAR(column)  
    VARP(column)  

    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    SELECT column_name, aggregate_function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name
    HAVING aggregate_function(column_name) operator value


    UCASE 函数把字段的值转换为大写。
    LCASE 函数把字段的值转换为小写。
    SELECT MID(column_name,start[,length]) FROM table_name

    LEN 函数返回文本字段中值的长度。

    SELECT ROUND(column_name,decimals) FROM table_name

    SELECT ProductName, UnitPrice, Now() as PerDate FROM Products
    Select Now() as column From Table
     


      使用上,想删除部分数据行用
      delete from Tablename, 注意带上where子句.
         
      想删除表,当然用
      drop table Tablename

      想保留表而将所有数据删除.   如果和事务无关,用
      truncate table Tablename 即可.    (Key item = 0)

      如果和事务有关,或者想触发trigger,还是用
      delete from Tablename.            (Key item remains)

  • 相关阅读:
    iOS开发之--隐藏状态栏
    iOS开发之--iPhone X 适配:MJRefresh上拉加载适配
    iOS开发之--为UITextField监听数值变化的三种方法
    ios开发之--为父view上的子view添加阴影
    iOS开发之--在UIWindow上展示/移除一个View
    iOS开发之--Masonry多个平均布局
    CocoaPods更新过程中出现的坑及解决方法
    那些已成定局的人和事
    两个陌生人的对话
    好好写代码吧,没事别瞎B去创业!
  • 原文地址:https://www.cnblogs.com/greencolor/p/1730568.html
Copyright © 2020-2023  润新知