• SQL数据库常用命令


    • SQL常用命令

    1、order by  对结果集 排序。ASC:升序(默认),DESC:降序。

    Select * from A order by age desc,id ASC     //age降序,id升序


         group by 根据一定规则对数据进行分组,将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。用group by all 多列分组。常和 sum,max,min ,count 等聚合函数一起使用,与group by联用的having子句是筛选满足条件的组,与where不同的是在分组之后过滤数据
     
     比如一个表中,有a、b、c三种类别,每个类别不同的数量,可以用
         select  类别,数量  from  表名  group by 类别
     返回的结果实际就是分类汇总a、b、c三种对应的数量

         select 类别,数量 from 表名 group by 类别 having  数量>20
    在结果里显示分组数量>20的结果



    CREATE TABLE Student(
    ID int PRIMARY KEY,
    NAME VARCHAR2(50) NOT NULL);//建表
        CREATE VIEW view_name AS
    Select * FROM Table_name;//建视图
    CreateUNIQUEINDEXindex_nameONTableName(col_name);//建索引
    //插入
    INSERT INTO tablename {字段1,字段2,字段3 …} values(值1,值2,值3 …);

    insert into 目标数据表 select * from 源数据表  //把源数据表的记录添加到目标数据表
    //插入视图
    INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);
    //更新数据
    update table1 SET 字段名=字段值 where 条件表达式 ;
    update table1 SET 字段1=值1,字段2=值2...字段n=值n where 条件表达式;
    //查询
    select * from tablename where 字段名=值 order by 字段名 desc
    select * from tablename where 字段名 like '% 值 %' 
    select * from tablename where 字段名 in ('值1','值2','值3')
    select * from tablename where 字段名 between 值1 and 值2
    //删除
    DELETE FROM Table WHERE ...;
    delete from tablename; //将数据表所有记录删除 注意表还在,DROP 是永久性删除一个数据表
    GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权
    REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权
    Select E.NAME, S.NAME FROM EMPLOYEE E S
    WHERE E.SUPERName=S.Name     //列出工作人员及其领导的名字


    //列出不同的值  distinct

    select distinct name from A     //作用于单列,只有name不同的行被显示
    select distinct name, id from A     //作用于多列,name+id都不同的行被显示
    //规定返回的行数  top

    Select TOP 2 *FROM A     //TOP n 说明返回n行
    Select TOP 20 PERCENT * FROM A     //;TOP n PERCENT说明返回的行数等于总行数的百分之几
    //合并或多个 SELECT 语句的结果集          UNION

    select name from table_name1
    UNION
    select name from table_name2

    select name from table_name1
    UNION ALL
    select name from table_name2

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

    通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。
    内连接:等值连接、不等连接、自然连接
    外连接:左外连接、右外连接、全连接
    交叉连接:也称迪卡尔积

    内连接
    //等值连接     在连接条件中使用等于号(=),结果包括重复列
     select * from A,B where A.Id = B.Id
     等同于
     select * from A inner join B on A.Id = B.Id
    //不等连接     >、<、<>、>=、<=、!>和!<
    select * from A inner join B on A.Id <> B.Id
    //自然连接     使用=,结果不能重复

    外连接
    //左连接     返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值
    select * from A left join B on A.Id = B.Id
    //右连接
    select * from A right join B on A.Id = B.Id
    //全连接     返回左表和右表中的所有行。当某行在另一表中没有匹配行,则另一表中的列返回空值
    select * from A full join B on A.Id = B.Id

    交叉连接     
    //返回结果的行数等于两个表行数的乘积,m×n
    select *from A cross join B


  • 相关阅读:
    CentOS 6.6 下源码编译安装MySQL 5.7.5
    CentOS 6.6下安装配置Tomcat环境
    Redhat6.7 切换Centos yum源
    css盒模型
    mysql 查询表占用空间大小
    ligerform 控件元素设置为只读
    FtpClient中文文件名下载失败问题
    java Runtime.exec() 执行问题
    java log4j动态生成log文件
    java udp地址匹配
  • 原文地址:https://www.cnblogs.com/kqZhu/p/6876163.html
Copyright © 2020-2023  润新知