SQL基础说明,为巩固基础知识,现创建基础知识板块,其中包含workbench的使用技巧
安装部分略过(皮一下)
- 数据定义语言DDL
- create
- alter
- drop
- 数据操作语言DML
- insert
- delete
- update
- select
- 数据控制语言DCL
- grant
- remove
聚集函数:
- 数据统计类
- 计数count
- 求和sum
🔍关于数据操作语言SELECT 的查询语句格式
select [distinct/all] from table_name
1.无条件查询(单表查询)
select * from table_name;
2.DISTINCT去除重复数据
select distinct * from table_name;
给列起别名
select book as '书' from bookstore;
where子句筛选条件查询
比较,确定范围,确定集合,字符串匹配,空值,多重条件
确定范围
between …… and ……
select * from 表名 where 条件 between …… and ……;
确定集合
in()
字符串匹配
like
注意: 代替单个字符'_',代替多个字符' %'
聚集函数
COUNT 统计元组个数
COUNT(<列名>) 统计非空列值个数
SUM( <列名>)
提取前N条SQL语句
select * from table_name order by columnName
分组查询(group by)
group by <列名> 和 having <条件>
区别: where用于不分组筛选,不允许出现聚集函数 having用于分组筛选,经常出现聚集函数
嵌套查询
select * from 表1 where <条件> in (select 列名 from 表2);
select * from 表1 where <条件> in (select 列名 from 表2 where <条件> in (
select 列名 from 表3……
)
)
表连接的语法格式
-- 多表连接
select * from 表1
join 表2
on<连接条件>
插入数据
insert [into] 表名 valus (" 值1","值2");
insert [into] 表名(列名) values ("值1","值2");
插入多条数据,insert into [into] 表名 values(),(),();
修改数据
update 表名 set 列名;
删除数据
delete from 表名 【where 删除条件】
内连接
符合条件的留下,不符合条件的删除
外连接
满足条件的留下,不满足条件的也留下
- 左外连接
左边的表元组全部保留
例如:select * from 表1 left 【outer】join 表2 on <连接条件>
- 右外连接
右边的表元组全部保留
例如:from 表1 right 【outer】join 表2 on <连接条件>
创建视图
create view <视图名> [(视图列表名)]
create view <视图名> as (select*from 表名)
with check option子句
⚙MySQL workbench使用技巧
快捷键 | 用途 |
Ctrl + Shift + Enter | 执行选中的SQL(如无选中则执行所有) |
Ctrl + Enter | 执行当前这句SQL (注意MySQL Workbench的编辑器会要求每一句SQL必须以;结尾, 否则会高亮提示错误) |
Ctrl + / | 注释掉选中SQL语句 |
Ctrl + B | 格式化SQL语句 |
Ctrl + T | 新开SQL编辑器 |
Ctrl + Alt + X | 查看执行解释 (explain current statement) |
关于数据库故障的原因
事物内部故障
系统故障
介质故障
先写日志,在执行数据库