Sql语言

DDL(数据库定义语言)>>> 库 database,表 table

create 创建
create database 库名;
create table 表名(
字段名 数据类型(范围) 约束条件,
字段名 数据类型(范围) 约束条件,
字段名 数据类型(范围) 约束条件,
字段名 数据类型(范围) 约束条件
primery key(字段)
foreign key 字段 REFERENCES 表(字段)
);
alter 修改
-- 修改名字
alter database 库名 rename 新名
-- 添加字段
alter table 表名 add id int(11) not null
-- 删除字段
alter table 表名 drop id
-- 修改字段名
alter table 表名 modify 字段名 类型 约束
drop 删除
drop table 表名;
drop database 库名;

DML(数据库操作语言)>>> 数据

insert 添加数据
insert into 表(字段列表) values (值列表);
insert into emp values(1,'张三','1999-04-14');
update 更新数据
update 表 set 字段 = 新值 【where 条件】

-- 更新张三的成绩为60
update student set score = 60 where sname = '张三';
delete 删除数据
delete from 表 【where 条件】
delete from student where ename = '张三';

DQL (数据库查询语言)>>> 数据

关键字含义
where查询条件
group by分组查询
having(必须和group by 一起使用) 分组期间筛选条件
order by排序
asc升序
desc降序
like模糊查询
_单字符
%任意字符(没有,一个,多个)
as起别名 (可省略)
case…end做条件判断(分支语句)
when…then当条件成立,则…
in包含范围内 in(值,值,值)
not in不在
is null判断是null
is not null判断不是null
distinct去重
limit限制,分页
not
and
or
between min and max在min和max之间,min和max可取
【inner】 join内连接
left【outer】 join左外连接
right 【outer】 join右外连接
on连接条件

完整语法

select [distinct] 字段 from

表名 [ [left] join] 表

on 连接条件

where … group by … having … order by … limit

emp : 表
-- 查询所有
select * from emp;
-- 条件查询
select 字段 fromwhere 条件;
-- 当where后面条件中出现了聚合函数(min,max,sum,count,avg),那么应该用having来进行判断
-- 一旦聚合函数被当作条件使用的时候,就要使用having来进行条件判断
-- 统计各部门人数,查找哪个部门人数大于5
select * from dept group by deptno having count(*)>5
-- 模糊查询
select * from emp where 字段 like '%xx%';
-- 分页查询: a 表示起始位置(从0开始),b 表示查询的条数
select * from emp limit a,b
-- 分页语句语法拼接(当前页 page)
-- 注意以下的这个语法只能在java语言中进行使用
select * from emp limit (page-1)*b,b
-- 多表联查
select * from emp as e join dept as d on e.deptno = d.deptno
-- 左外连接 (会对左表进行补null值操作)
select * from emp as e left join dept as d on e.deptno = d.deptno

--子查询
将一个查询语句作为另一个查询语句的条件或者是一张临时表作为查询操作。
注意如果作为表存在from后面,那么必须要给该查询语句提供别名

select * from 
(
    select dept_name,ename 
    from emp right join dept on emp.deptno = dept.deptno
) a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值