一、语法要点
1、关键字不区分大小写
2、语句后面带分号
二、基础语句 (mysql)
1、mysql -u root -p ——输入用户名密码登录
2、use user ——user是要连接的数据库
3、show tables --展示指定数据库user下的所有表
三、插入
按列顺序插入:insert into class values('class 1','grade 1',40);
自定义列及其顺序插入:insert into class (grade,classname,num) values ('grade2','class1','38');
四、查询:
1、查询所有列数据:select * from class;
2、查询指定列数据:select classname,grade from class;
3、查询指定行:
where子句进行过滤:比较操作符、IN、BETWEEN、LIKE关键字
(1)比较操作符:
select * from class where grade='grade1';
(2)IN关键字:
select * from class where grade in ('grade1','grade3');
select * from class where grade not in ('grade1','grade3');
(3)BETWEEM关键字:
select * from class where num between 36 and 37;
select * from class where num not between 36 and 37;(查询结果包含取值为36和37的记录)
(4)LIKE关键字:
select * from class where grade like '%2';
select * from class where grade not like '%2';
where子句结合多个条件
(1)AND同时满足:
SELECT * FROM class WHERE grade='grade2' AND classname='class2';
(2)OR其一满足:
SELECT * FROM class WHERE grade='grade2' OR classname='class2';
4、查询值为空的行:
select * from class where num is null;
select * from class where num is not null;
五、关键字处理查询结果
1、排序
升序:select * from class order by num asc;
降序:select * from class order by num desc;
2、选择前n条:
MySQL语法: select * from class limit 2;
SQL Server语法:select top 2 * from class;
六、函数处理查询结果
通用形式:select function(列) from 表
1、Aggregate 函数(合计函数):处理多值,返回单一值
1)MAX(column):返回某列的最高值 select max(num) from class;
2)MIN(column):返回某列的最低值 select min(num) from class;
3)SUM(column):返回某列的总和 select sum(num) from class;
4)AVG(column):返回某列的平均值 select avg(num) from class;
5)COUNT(column):返回某列的行数(不包括 NULL 值),COUNT(*):返回被选行数 select count(*) from class;
2、Scalar 函数:处理单一值,返回单一值。一般用户文本处理。 www.w3school.com.cn/sql/sql\_fu…
七、group by和having函数
1、group by:分组合计
select classname,sum(num) from class group by classname;
select classname,sum(num) from class where num>36 group by classname;
select classname,avg(num) from class group by classname;
select classname,min(num) from class group by classname;
2、having:在having后接合计函数做进一步筛选
(1)having同where之处,接比较操作符、IN、BETWEEN、LIKE关键字进行筛选 select * from class having grade='grade1';
(2)having后还可接合计函数,对分组结果进行筛选,这是where所不能的 select classname,sum(num) from class group by classname having sum(num)>45;
(3)having和where可以共存: select classname,sum(num) from class where grade in ('grade1','grade2') group by classname having sum(num)>40;
八、更新
1、更新一个列:update student set sex='M' where name='Cindy';
2、更新若干列:update student set sex='M',age=21 where name='Cindy';
九、删除
delete from student where name='Mike';