MySQL 学习第四天
- 子查询
- limit
- 创建表
- insert语句插入数据
- 删表
- default
- update
- 删除数据
如果有意见可以提出来压
子查询
什么是子查询?子查询都可以出现在哪里?
select语句中嵌套select语句。被嵌套的select语句是子查询
子查询可以出现在哪里
select
…(select)
from
…(select)
where
…(select)
Union(可以将查询结果集合相加)
它可以让两张没有关系,不相干的表拼接到一块。
limit
(重点中的重点,分页查询全靠它)
limit startindey,length
startIndey表示起始位置
length表示取几个
limit是sql语句最后执行的一个环节
select 5
…
from 1
…
where 2
…
group by 3
…
having 4
…
order by 6
…
limit 7
执行顺序
limit一个要记住的执行顺序
limit (pageNo – 1) * pageSize , pageSize
pageNo 和 pageSize是可以随便变动的
创建表
create table 表面 (
字段名1 数据类型,
字段名2 数据类型
…
);
关于MySQL当中字段的数据类型常见类型
int 整数型
bigint 长整形
float 浮点型
char 定长字符串
varchar 可变长度字符串
date 日期类型
BLOB 二进制大对象(存储图片,视频等流媒体信息)
CLOB 字符串大对象(存储较大文本,比如可以储存4G字符串)
char和varchar怎么选择?:
在实际的开发中,当某个字段数据长度已经定好了就用char 比如:性别,生日
当一个字段数据长度不确定的时候就用varchar
比如 姓名,简介
insert语句插入数据
语法格式:
insert into 表名(字段名1,字段名2) values(值1,值2);
要求字段的数量要和值的数量相同,并且数据类型要对应相同。
insert语句执行成功的时候数据库必多一行数据
删表
drop table if exists 表名;
// 当这个表存在的话就删除
default
在创建表的时候可以在(字段名,值)后面给个default值,来给这个字段名一个默认值
delfaul后面一定是跟字段名数据类型相匹配的值!
没写defau默认值null。
表的复制
语法:
create table 表名 as select 语句;
将查询结果当做创建出来。
将查询结果插入到一张表中!
语法:
insert into depl select语句
// 对表结构有要求,如果插入的表是5个字段,表中只有3个字段的话,是插入不了的
update
语法格式
update 表明 set 字段名1 = 值1,字段名2 = 值2…where 条件
注意 没有整张表数据全部更新
删除数据
语法格式
delete from 表名 where 条件;
注意
没有条件全部删除
删除所有记录
delet from deptl;
怎么删除大表数据(重点)
truncate table 表名;
// 这个是永久删除
增删改查有一个术语 CRUD操作
…