0
点赞
收藏
分享

微信扫一扫

char_jx の SQL知识点整理


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)

关于数据库故障的原因

事物内部故障

系统故障

介质故障

先写日志,在执行数据库


举报

相关推荐

0 条评论