• 数据库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;

  • 相关阅读:
    【亲测有效】安装npm慢的解决方案
    设置redis开机自动启动
    win10开启redis失败解决方案
    ajax跨域问题
    python进程不能并行的原因,进程阻塞
    python多进程并行代码
    python多进程间通信
    orangepi自启动打开一个终端并且运行脚本
    lxterminal命令打开新窗口并执行python脚本
    orangepi获取cpu温度
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6061860.html
Copyright © 2020-2023  润新知