zoukankan      html  css  js  c++  java
  • SQL基础

    CREATE DATABASE 

    功能:用于创建数据库。

    语法:CREATE DATABASE dbname;

    CREATE TABLE 

    功能:用于创建数据库中的表。

    语法:CREATE TABLE table_name
       (
       column_name1 data_type(size),
       column_name2 data_type(size),
       column_name3 data_type(size),
       ....
       );

    column_name 参数规定表中列的名称。

    data_type 参数规定列的数据类型(例如 varchar、integer、date 等等)。

    size 参数规定表中列的最大长度。

    约束 (CONSTRAINT)

    功能:用于规定表中的数据规则。

       如果存在违反约束的数据行为,行为会被约束终止。

       约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

    语法:CREATE TABLE table_name
       (
       column_name1 data_type(sizeconstraint_name,
       column_name2 data_type(sizeconstraint_name,
       column_name3 data_type(sizeconstraint_name,
       ....
       );

    在 SQL 中,我们有如下约束:

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

    CREATE INDEX 

    功能:用于在表中创建索引。

    语法:CREATE INDEX index_name
       ON table_name (column_name)

    DROP 

    功能:删除索引、表及数据库

    语法:

    • DROP DATABASE - DROP DATABASE dbname;    //删除数据库
    • DROP TABLE - DROP TABLE table_name;    //删除表
    • TRUNCATE TABLE - TRUNCATE TABLE table_name;   // 只删除表中数据,不删除表本身。

    ALTER 

    功能:用于在已有的表中添加、修改或删除列。

    语法:

      如需在表中添加列,请使用下面的语法:

      ALTER TABLE table_name
      ADD column_name datatype

      如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):

      ALTER TABLE table_name
      DROP COLUMN column_name

      要改变表中列的数据类型,请使用下面的语法:

      SQL Server / MS Access:

      ALTER TABLE table_name
      ALTER COLUMN column_name  datatype;

      My SQL / Oracle:

      ALTER TABLE table_name
      MODIFY COLUMN column_name datatype;

      Oracle 10G 之后版本:

      ALTER TABLE table_name
      MODIFY column_name datatype;

    视图 (VIEWS) 

    功能:视图是基于SQL语句的结果集的可视化的表。

    语法:CREATE VIEW view_name AS
       SELECT column_name(s)
       FROM table_name
       WHERE condition;

    SELECT 

    功能:用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

    语法:SELECT column_name,column_name ......

       FROM table_name;

       与

       SELECT * FROM table_name;

    SELECT DISTINCT 

    功能:在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT 关键词用于返回唯一不同的值。

    语法:SELECT DISTINCT column_name,column_name ......

       FROM table_name;

    WHERE 

    功能:用于提取那些满足指定标准的记录。

    语法:SELECT column_name,column_name......
       FROM table_name
       WHERE column_name operator value;

    AND&OR

    功能:AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

       如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

       如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

    ORDER BY 

    功能:ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

       ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

    语法:SELECT column_name,column_name
       FROM table_name
       ORDER BY column_name,column_name ASC|DESC;

    INSERT INTO

    功能:用于向表中插入新数据。

    语法:可以有两种编写形式:

    • 第一种形式无需指定要插入的数据的列名,只需提供被插入的数据即可。

      INSERT INTO table_name

      VALUES (value1,value2,......);

    • 第二种形式需指定要插入数据的列名和值。

      INSERT INTO table_name (column1,column2,......)

      VALUES (value1,value2,......);

    UPDATE 

    功能:用于更新表中已存在的记录。

    语法:UPDATE table_name

       SET column1=value1,column2=value2,......

       WHERE some_column=some_value;

    注意:WHERE子句规定了哪些记录需要更新,如果省略了WHERE子句,所有记录都将被更新。

    DELETE 

    功能:用于删除表中存在的记录。

    语法:DELETE FROM table_name

       WHERE some_column=some_value;

    注意:WHERE子句规定了哪些记录需要删除,如果省略了WHERE子句,所有记录都将被删除。

    LIKE 操作符 

    功能:用于在 WHERE 子句中搜索列中的指定模式。

    语法:SELECT column_name(s)
       FROM table_name
       WHERE column_name LIKE pattern;

    通配符 

    功能:用于替代字符串中任何其他字符,一般与LIKE一起使用。

    语法:%  ——  替代0个或多个字符。

        _  ——  替代一个字符。

       [charlist]  ——  字符列中的任何单一字符。

       [^charlist] 或 [!charlist]  ——  不在字符列中的任何单一字符。

    IN 操作符 

    功能:允许在WHERE字句中规定多个值。

    语法:SELECT column_name(s)
       FROM table_name
       WHERE column_name IN (value1,value2,...);

    BETWEEN 操作符 

    功能:选取介于两个值之间的数据范围内的值(值可为数值、文本、日期)。

    语法:SELECT column_name(s)
       FROM table_name
       WHERE column_name BETWEEN value1 AND value2;

    别名 

    功能:可以为表名称或列名称指定别名(为了使可读性更强)。

    列别名语法:SELECT column_name AS alias_name
          FROM table_name;

    表别名语法:SELECT column_name(s)
          FROM table_name AS alias_name;

    JOIN(连接) 

    功能:基于表之间的共同字段,用于把来自两个或多个表的行结合起来。

    语法:SELECT column_name(s)
       FROM table_name1
       INNER JOIN (替换)  table_name2
       ON table_name1.column_name=table_name2.column_name;

    • INNER JOIN ( =JOIN ):如果表中有至少一个匹配,则返回行
    • LEFT JOIN ( =LEFT OUTER JOIN ):即使右表中没有匹配,也从左表返回所有的行
    • RIGHT JOIN ( =RIGHT OUTER JOIN ):即使左表中没有匹配,也从右表返回所有的行
    • FULL JOIN ( =FULL OUTER JOIN ):只要其中一个表中存在匹配,则返回行 

    UNION

    功能: UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

        请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

    语法:

    UNION()

    SELECT column_name(s) FROM table1
    UNION
    SELECT column_name(s) FROM table2;

    UNION ALL

    SELECT column_name(s) FROM table1
    UNION ALL
    SELECT column_name(s) FROM table2;

    注意:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

     

    Mei
  • 相关阅读:
    机器学习Python包
    Linux网卡的相关配置总结
    [转]Ajax跨域请求
    [转]git在eclipse中的配置
    java代码运行linux shell操作
    虚拟机NAT模式无法上网问题的解决办法
    [转]关于网络通信,byte[]和String的转换问题
    ARP协议工作流程
    pycharm常用快捷键总结
    数据挖掘主要解决的四类问题
  • 原文地址:https://www.cnblogs.com/xiaomei1990/p/9297997.html
Copyright © 2011-2022 走看看