2019-04-15

复习要点:

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 清空表数据,可以回滚

你可能感兴趣的:(2019-04-15)