MySQL表的创建
1.创建表的语法格式:
creat table 表明(
字段名1 数据类型,
字段名2 数据类型,
字段名3 数据类型,…)
注:重点是数据类型:参见的有
int; 整数型,对应Java中的int
bigint : 长整型,对应Java中的long
float ; 浮点型,Java中的float double
char ; 定长字符串String
varchar ; 可变长字符串,Java中的StringBuffer/StringBuilder
data ; 日期类型,Java中的Java.sql.Data类型
blob ;二进制大对象
clob:字符大对象
char和varchar的选择:在实际开发中,当某个字段中的数据长度不发生改变的时候,定长的,比如性别,姓名等采用char,但长度不确定的时候用varchar
表名在数据库中一般建议以:t__或者tbl__开始
例如:
creat table t_student(
no bigint,
name varchar(255),
sex char(1),
classno varchar(255),
birth char(10)
);
insert语句插入数据
语法格式:
insert into 表明(字段名1,字段名2,字段名3,…)value(值1,值2,值3,…)要求:字段的数量和值的数量相同,并且数据类型要对应相同.
例:insert into t_student(no,name,classno,birth) values(1,)
子查询
1.什么子查询?
select语句嵌套select语句.其中被嵌套的select语句是子查询
例:select
…(select).
from
…(select).
where
…(select).
2.where子句中使用子查询
注:where语句后面不能直接使用分组函数
eg:(1).找出平均薪资
select avg (sal) from emp;
(2).where过滤
select*from emp where sal >数字
(3).两部分合并的话:select * from emp where sal>(select avg(sal) from emp);
3.from后面嵌套子查询
eg:找出每个部门的平均薪水的薪资等级
(1).先找每个部门的平均薪水
select deptno,avg(sal) from emp group by deptno;
4.在select后面嵌套子查询:
案例:select
e.ename,(select d.dname from dept d where e.deptno) as dname
from
emp.e;