SQL数据库常用命令

xiaoxiao2021-02-27  482

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
转载请注明原文地址: https://www.6miu.com/read-9581.html

最新回复(0)