复习要点:
1.关键字部分
distinct 去重
limit 分页
group by 分组
order by 排序 desc 降序
left join 左连接
between 1500 and 3000 在1500至3000之间
in (集合列表)
like 模糊查询 %任意多个字符 _一个字符
is null 为空 (where comm is null 不能写comm = null)
2.函数部分
数值函数:
round四舍五入,truncate(trunc)截断
示例:
字符处理函数
subtr截取
示例:
日期处理函数
date_format()
now(),currentDate(),currentTime(),sysdate()
3.事务部分
DML:一组增删改称为事务
事务四大特性
set_autocommit = true的前提下是一个DML语句一提交的
set_autocommit = false的前提下,是需要手动提交的
提交commit,回滚rollback
增删改基本语法
①Insert into 表名(列明列表) values (值列表)
示例:
INSERT INTO `userinfo`(ID,NAME) VALUES ('1', '大徐111');
②update 表名 set 列 = ... [where ...]
示例:
UPDATE `emp` SET SAL = SAL + 100 WHERE DEPTNO = 10
③delete from 表名 [where ...]
示例:
DELETE FROM EMP WHERE SAL < 800
注意:DML操作的数据是有锁机制的,即其他用户不能操作,需要提交过或回滚过
4.DDL语句(自带commit,即自动提交未生效的增删改)
需要create创建的,删除都是用drop关键字
如: drop table emp
drop view emp_10
建表(常用类型,int,decimal,date,varchar等)
CREATE TABLE `userinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) NOT NULL DEFAULT '',
`birthday` date DEFAULT NULL,
PRIMARY KEY (`id`)
)
主键:primary key
唯一键盘:unique
外键:foreign key
非空:not null
5.分组函数
max min sum avg count
分组关键字group by
having筛选组后条件
6.视图索引
视图:view
Create view emp_10
As
Select * from emp where deptno = 10
注意:视图没有数据,是一张虚表,所有的数据来自基表
索引index:加快检索查询速度,降低DML速度,占内存
CREATE TABLE `userinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) NOT NULL DEFAULT '',
`birthday` date DEFAULT NULL,
PRIMARY KEY (`id`),
index(name)
)
注意审题:分清楚是做DML还是查询
如:请将10部门工资上涨10%,应该用update而不是select
7.其他
修改表使用ALTER TABLE 关键字
TRUNCATE TABLE emp 截断表,清空表数据,DDL语句不能回滚
DELETE FROM EMP 清空表数据,可以回滚