美文网首页
SQL学习记录1

SQL学习记录1

作者: 行有余 | 来源:发表于2017-07-20 22:41 被阅读0次

    --文本字段 vs. 数值字段
    SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。
    在上个实例中 'CN' 文本字段使用了单引号。
    如果是数值字段,请不要使用引号。

    use runoob;

    --Not:非 满足不包涵该条件的值。
    select * from emp where not sal > 1500;
    查询EMP表中SAL小于1500的值。

    --逻辑运算的优先级:() not and or

    --ORDER BY column_name,column_name ASC|DESC;(升序|降序)默认为升序

    --INSERT INTO table_name (column1,column2,column3,...)
    VALUES (value1,value2,value3,...);

    --UPDATE table_name
    SET column1=value1,column2=value2,...
    WHERE some_column=some_value;

    --DELETE FROM table_name
    WHERE some_column=some_value;

    --下面的 SQL 语句从 "Websites" 表中选取头两条记录:
    SELECT * FROM Websites LIMIT 2;

    --SQL LEFT JOIN 语法--SQL RIGHT JOIN 语法
    SELECT column_name(s)
    FROM table1
    LEFT(RIGHT) JOIN table2
    ON table1.column_name=table2.column_name;
    注释:LEFT JOIN 关键字从左表(Websites)返回所有的行,即使右表(access_log)中没有匹配。

    --SQL FULL OUTER JOIN 语法
    SELECT column_name(s)
    FROM table1
    FULL OUTER JOIN table2
    ON table1.column_name=table2.column_name;
    注释:MySQL中不支持 FULL OUTER JOIN,可以在SQL Server使用。
    FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
    FULL OUTER JOIN 关键字返回左表(Websites)和右表(access_log)中所有的行。如果 "Websites" 表中的行在 "access_log" 中没有匹配或者 "access_log" 表中的行在 "Websites" 表中没有匹配,也会列出这些行。

    --SQL UNION 操作符
    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
    SQL UNION 语法
    SELECT column_name(s) FROM table1
    UNION
    SELECT column_name(s) FROM table2;

    --SQL INSERT INTO SELECT 语法
    我们可以从一个表中复制所有的列插入到另一个已存在的表中:
    INSERT INTO table2(插入到table2表)
    SELECT * FROM table1;(选择表table1表)
    或者我们可以只复制希望的列插入到另一个已存在的表中:
    INSERT INTO table2
    (column_name(s))
    SELECT column_name(s)
    FROM table1;

    --在 SQL 中,我们有如下约束:
    NOT NULL - 指示某列不能存储 NULL 值。
    UNIQUE - 保证某列的每行必须有唯一的值。
    PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
    FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
    CHECK - 保证列中的值符合指定的条件。
    DEFAULT - 规定没有给列赋值时的默认值。

    --SQL UNIQUE 约束
    当表已被创建时,创建 UNIQUE 约束
    ALTER TABLE table
    ADD UNIQUE column_name(s)

    撤销 UNIQUE 约束
    ALTER TABLE Persons
    DROP INDEX uc_PersonID

    --ALTER TABLE 时的 SQL DEFAULT 约束

    当表已被创建时,如需在 "City" 列创建 DEFAULT 约束,请使用下面的 SQL:
    ALTER TABLE Persons
    ALTER City SET DEFAULT 'SANDNES'

    撤销 DEFAULT 约束
    如需撤销 DEFAULT 约束,请使用下面的 SQL:
    ALTER TABLE Persons
    ALTER City DROP DEFAULT

    --SQL CREATE INDEX 语法
    在表上创建一个简单的索引。允许使用重复的值:
    CREATE INDEX index_name
    ON table_name (column_name)

    相关文章

      网友评论

          本文标题:SQL学习记录1

          本文链接:https://www.haomeiwen.com/subject/lutskxtx.html