zoukankan      html  css  js  c++  java
  • 数据库SQL归纳(三)

    数据查询功能

    单表查询

    选择若干列

    1. 指定列
    SELECT 列名称 FROM 表名称
    
    2. 全部列
    SELECT * FROM 表名称
    
    3. 经过计算的列
    SELECT Sname, 2019-Sage FROM Student
    

    经过计算的列、常量列显示结果都没有列名(显示为 '无列名'),可以通过其别名的方法改变查询结果显示的列名。

    列名 | 表达式  [AS] 列别名
    
    SELECT Sname 姓名, 2019-Sage 出生年份 FROM Student
    

    选择若干元组

    1. 消除取值相同的行

    关键字:DISTINCT

    SELECT DISTINCT 列名称 FROM 表名称
    
    2. 满足条件的元组
    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
    
    查 询 条 件 运 算 符
    比较 =,>,>=,<,<=,<>,!=
    确定范围 BETWEEN…AND,NOT BETWEEN…AND
    确定集合 IN,NOT IN
    字符匹配 LIKE,NOT LIKE
    空值 IS NULL,IS NOT NULL
    多重条件 AND,OR

    Sage BETWEEN 20 AND 30 相等于 Sage >= 20 AND Sage <= 23

    对结果排序

    ORDER BY <列名> [ASC|DESC]
    

    默认是升序 ASC, 降序 DESC

    使用聚合函数

    表中元组总数: SELECT COUNT(*) FROM 表名
    列均值: SELECT AVG(列名) FROM 表名
    列个数: SELECT COUNT([DISTINCT] 列名) FROM 表名
    最大值: SELECT MAX(列名) FROM 表名
    最小值: SELECT MIN(列名) FROM 表名
    列和值: SELECT SUM(列名) FROM 表名
    

    分组统计

    SELECT 分组依据列名, 聚合函数 FROM 表名 WHERE 列名 运算符 值
    GROUP BY 列名
    [ HAVING 聚合函数 运算符 值 ]
    

    使用TOP限制结果

    SQL Server 的语法:
    SELECT TOP number [ percent ] [WITH TIES] 列名 FROM 表名
    
    MySQL 语法
    SELECT 列名 FROM 表名 LIMIT number
    
    Oracle 语法
    SELECT 列名 FROM 表名 WHERE ROWNUM <= number
    

    多表链接

    FROM table1 INNER|LEFT|RIGHT JOIN table2 ON <连接条件> INNER|LEFT|RIGHTJOIN table3 ON <连接条件> ...
    

    数据更改功能

    插入数据

    单行插入

    INSERT INTO 表名 VALUES (值1, 值2,....)
    

    我们也可以指定所要插入数据的列:

    INSERT INTO 表名 (列1, 列2,...) VALUES (值1, 值2,....)
    

    多行插入

    INSERT INTO 表名 [(列1, 列2,...)] SELECT语句
    

    更新数据

    UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 某值
    

    删除数据

    DELETE FROM 表名 WHERE 列名 = 值
    
  • 相关阅读:
    ssh协议运用
    linux系统安装oracle遇到的问题
    Qt中mysql编译出错问题
    winform控件添加鼠标事件
    Linux网络编程
    多线程
    守护进程
    openssl 生成自签CA和pkcs12证书
    Linux CPU使用率获取 c
    temp
  • 原文地址:https://www.cnblogs.com/xzh0717/p/10623714.html
Copyright © 2011-2022 走看看