MySQL暂不支持 select into了 使用 create table 表名 ()代替
distinct 关键字用来去除重复
desc降序 asc升序 orderby排序
group by 列名*n 按照给定的一个或多个列名进行分组 分组时所有满足的算一组 不满足的算其他组
对于过滤条件 可以先用where在用group by 或者先用group by 再用having
union 对两个结果集进行并操作,不包括重复行,相当于distinct
union all 对两个结果集进行并操作包括重复行
在不同的数据库中 选取几条数据是不一样的使用的位置也不太一样 在MySQL中使用的是limit; 在sql Server中使用的是select top number | percent ;在 Oracle中使用的是 where ROWNUM < num
like 加通配符 %代替一个或多个字符 _代替一个字符 ;[charlist] 字符列中任意单一字符; [(^|!)charlist] 不在字符列中的任意单一字符; REGEXP ‘^[charlist]’ 查找以字符列中的任意字符开头的字符串
between and 选取介于两个值范围之间的值
constraint 约束 not Null ;unique;primary key;foreign key ;check;default;
创建表 例如:CREATE TABLE Persons(<br />PersonID int,<br />LastName varchar(255),<br />FirstName varchar(255),<br />Address varchar(255),<br />City varchar(255)<br />);
构建索引
create index 索引名 on 表名 (列名)
alter中 sql server和ms sccess 使用的是alter ;MySQL和Oracle使用的是modify
div 商 ;mod 取余; / 除 ;-减;
@变量名 :定义一个用户变量 使用:=进行赋值
``查询学生的总成绩并进行排名
select a.s_id,
@i:=@i+1 as i,
@k:=(case when @score=a.sum_score then @k else @i end) as rank,
@score:=a.sum_score as score
from (select s_id,SUM(s_score) as sum_score from score GROUP BY s_id ORDER BY sum_score DESC)a,
(select @k:=0,@i:=0,@score:=0)s
having多对分组后的结果进行处理,where是对分组前进行过滤 where中不会出现聚组函数
ddl 数据库定义语言 create drop alter ddl是数据库级别的操作
dml 数据库管理语言 insert update delete 是表级别的操作,支持多种执行语句的方式
dql 数据库查询语言 select
dcl 数据库控制语言 grant revoke commit
