sql基础语法

发布于:2024-04-09 ⋅ 阅读:(104) ⋅ 点赞:(0)


  前同事培训过相关内容,自己已能简单实践。近期阅读《SQL必知必会》第五版后,对内容有了更多理解,便重新梳理成文。本文框架多借鉴原内容,本人仅是复现结果,并对部分错漏进行了更改。

1. 什么是MySQL

  MySQL(SQL,Structure Query Language 结构化查询语言)是最流行的关系型数据库管理系统
(RDBMS,Relational Database Management System)之一。

1.1 RDBMS 特点

a) 数据以表格的形式出现
b) 每行是一组相关数据的记录
c) 每列是相同数据类型组成的数据域
d) 许多的行和列组成一张表单
e) 若干的表单组成database

1.2 sql分类

a) DDL(Data Definition Language) 数据定义语言,用来操作数据库、表等; 常用语句:CREATE、 ALTER、DROP
b) DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT、 UPDATE、 DELETE
c) DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:GRANT、DENY、COMMIT、ROLLBACK
d) DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:SELECT

1.3 数据类型

  数值、字符、日期

1.4 适应MySQL

(1)R

library(RMySQL)
con1 <- dbConnect(MySQL(), host="",port=3306, dbname="", username="", 
password="",encoding='utf-8')
somatic_out <- dbGetQuery(con1 ”select * from database1“)

(2)python

import pymysql
conn = pymysql.connect(host='',user='',passwd='',db='',port=3306,charset='utf8')
df_qc = pd.read_sql_query("select * from database1" ,conn)

(3)shell

python Search__db.py -d 'database1' -s 'select * from database1 ' -t xls -o test

(4)客户端软件
  DBEVER等第三方软件

2. 代码顺序与后台执行顺序

2.1 代码撰写顺序

select distinct id
from database1 a
join database2 b
on a.id=b.id
where a.type='car'
group by a.batch
having count(*)>5
union (select...)
order by a.batch 
limit 0,1000

2.2 后台执行顺序

from database1 a
on a.id=b..id
join database2 b
where a.type='car'
group by a.batch
having count(*)>5
select id
distinct id
union (select ...)
order by a.batch
limit 0,1000

在这里插入图片描述

3. 基础查询

4. 条件检索



5. 分组

在这里插入图片描述

6. 多表查询

6.1 子查询(几乎不用)

在这里插入图片描述

6.2 连接查询

  日常使用最多的是**内联结、左外联结**。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 常用函数

(1)case when
在这里插入图片描述
(2)if

(3)字符串截取大法
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到