zoukankan      html  css  js  c++  java
  • 数据库SQL语句学习--view

    1.新建一个view

    create view view_name as

    select * from table_name

    where...

    2.删除一个view

    drop view view_name

    3.新增一列

     ALTER TABLE table_name
     ADD column_name column_type

    4.删除一列: COLUMN 是关键字

     ALTER TABLE table_name
     drop COLUMN column_name

    5.修改表中某一条记录

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

    6.添加一条记录

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

    7.排序

    SELECT column_name,column_name
    FROM table_name
    ORDER BY column_name,column_name ASC|DESC;

    8.join 的用法(两表根据共同字段返回值)

    SELECT Websites.id, Websites.name, access_log.count, access_log.date
    FROM Websites
    INNER JOIN access_log
    ON Websites.id=access_log.site_id;

    • INNER JOIN:如果表中有至少一个匹配,则返回行
    • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行(以左边的表为主)
    • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行(以右边的表为主)
    • FULL JOIN:只要其中一个表中存在匹配,则返回行(不管匹配如何,返回所有待定字段和值)

    9.创建一个表

    CREATE TABLE table_name
    (
      column_name1 data_type(size), 约束条件
      column_name2 data_type(size),约束条件
      column_name3 data_type(size),约束条件
      ....
    );

    约束条件有以下六个:

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

    例:

    CREATE TABLE Persons
    (
      P_Id int NOT NULL UNIQUE, //非空,不重复
      LastName varchar(255) NOT NULL,
      FirstName varchar(255),
      Address varchar(255),
      City varchar(255),
      PRIMARY KEY (P_Id), //设立p_id为主键

      FOREIGN KEY (P_Id) REFERENCES orders(P_Id) //当前表的外键是orders表的主键P_ID

          check(P_ID>0)//规定当前表的主键值>0
    )

    十、group by 的使用

    SELECT site_id, SUM(access_log.count) AS nums //对access_log表的count列进行求和,求和的结果命名为nums列
    FROM access_log

    GROUP BY site_id; //将表的内容按照site_id进行整理

    十一、having 的使用

    having 可以配合group by一起使用, 可以代替where语句。

    SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log
    INNER JOIN Websites
    ON access_log.site_id=Websites.id)
    GROUP BY Websites.name
    HAVING SUM(access_log.count) > 200;

  • 相关阅读:
    Python发邮件的小脚本
    收集服务器网卡和IP信息
    Parent Proxy 和 Origin Server配置学习
    ATS 自定义日志格式
    css之选择器篇
    css之入门篇
    javascript必须懂之冒泡事件
    HTML5之语义化标签
    HTML之总结
    随堂笔记之正则与HTML5新元素
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6061860.html
Copyright © 2011-2022 走看看