java企业级软件
前端(网页) 后台(java) 数据库
建库 建表 建约束
1.创建数据库
最简单的方式创建数据库,参数是默认值
create database 数据库名
删除数据库
drop database 数据库名
指定参数创建数据库
create database 数据库名
on(
name='数据文件的逻辑名称',
filename='数据文件的物理路径',
size = 数据文件的初始化大小(KB,MB,GB,TB)
maxsize = 数据文件大小的上限
filegrowth = 数据文件的增长方式
),(设置第二个数据文件),(...),...
log on(
name='日志文件的逻辑名称',
filename='日志文件的物理路径',
size=日志文件的初始化大小
maxsize=日志文件大小的上限
filegrowth = 日志文件数据的增长方式(..MB,%)
),(设置第二个日志文件),(...)...
if(select 1 from sysdatabases where name='数据库名')
begin
drop database 数据库名
end
#数据库如果存在,就先将其删除
建表
建约束
主键约束:唯一的标识这条记录,主键值要求唯一非空 ,primary key
非空约束:字段不能为null值,not null
标识列约束: identity(种子,增量) 默认 identity(1,1)
设置字段的值自增
检查约束:规定字段取值的范围 check(表达式)
默认值约束: 设置字段的默认值 default:默认值
外键约束:字段的值引用另外一张表的主键或唯一键的值 references
唯一约束:字段的值必须唯一, unique
增删改
查
查询的基本过程
select * from emp where age = 22
where 子句的内容
where 关系表达式 > >= < <= != <> =
and or not
between and
过滤null值只能用 is null和is not null
不能用 = !=
in(在某个取值范围) not in(不在某个取值范围)
where子句过滤的是记录,实体信息
group by 和 having
having 过滤的是组信息
group by 之后的字段称为组标识
在一个查询中如果出现了group by 子句,那么在select子句中只能出现组标识
如果要出现其他字段,这个字段必须加聚合函数
having之后也只能出现组标识和聚合函数
sql的执行顺序
select * from emp where ....
from emp ----1 (找到表)
where age>22---2 (过滤记录)
group by deptno ---3 (分组)
having xxx ----4 (过滤组)
select xxxx ----5 (选取查询信息)
order by xxx---6 (排序)