干货分享:开发常用的SQL语句大全,涵盖大多数基础知识点

AI 概述
一、数据定义语言:用于定义和管理数据库对象等1、数据库的操作2、数据表的操作二、数据操纵语言:用于对数据库表中的数据进行增删改操作等1、数据插入2、数据删除3、数据修改/更新三、数据查询语言:用于从数据库中查询数据1、基础查询2、条件查询3、排序查询4、聚合查询5、分组查询6、分页查询7、多...
目录
文章目录隐藏
  1. 一、数据定义语言:用于定义和管理数据库对象等
  2. 二、数据操纵语言:用于对数据库表中的数据进行增删改操作等
  3. 三、数据查询语言:用于从数据库中查询数据
  4. 四、数据控制语言:于创建数据库用户、控制数据库的访问权限等
  5. 结语

日常工作中,SQL 是大多数分析人员必须精通的工具。SQL 语句种类繁多,功能强大能够满足数据查询、更新、删除、插入以及数据库和表结构管理等。本文将详细介绍一系列史上超强、最常用的 SQL 语句,帮助读者在实际工作中更加高效地操作数据库。

干货分享:开发常用的 SQL 语句大全,涵盖大多数基础知识点

一、数据定义语言:用于定义和管理数据库对象等

1、数据库的操作

--001 创建数据库
CREATE DATABASE my_db; -- 创建名为 my_db 的数据库
create database if not exists my_db; --创建时会检查是否存在 my_db,如果不存在则创建

--002 查看所有数据库
SHOW DATABASES;

--003 使用库
USE my_db --选择并切换到 my_db

--004 删除库(慎用)
DROP DATABASE --删除数据库 my_db

2、数据表的操作

--005 创建表
CREATE TABLE my_db (
    id INT ,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL
);

--006 查看表的列信息
DESC my_db;

--007 删除表
drop table my_db;

--008 新增列
ALTER TABLE my_tb ADD COLUMN piaoshu INT;

--009 删除列
ALTER TABLE my_tb DROP COLUMN piaoshu;

二、数据操纵语言:用于对数据库表中的数据进行增删改操作等

1、数据插入

--010 指定字段插入单条数据
INSERT INTO my_tb (id,name) 
VALUES (898,'张三');

--011 指定字段插入多条数据
INSERT INTO my_tb (id,name) 
VALUES (899,'李四');
VALUES (900,'王五');

--012 所有字段插入数据:写出所有字段名或者不写
insert into 表名 values(值 1,值 2,...值 n)

2、数据删除

--013 删除指定条件的数据:
DELETE FROM my_tb WHERE name = '张三';

--014 删除所有数据但是会保留原有数据结构
DELETE FROM my_tb

3、数据修改/更新

--015 更新满足条件的记录中的某个字段
UPDATE my_tb SET name = '赵大' WHERE id = '900';

--016 更新所有记录中的某个字段
UPDATE my_tb SET id = id+ 1;

三、数据查询语言:用于从数据库中查询数据

1、基础查询

--017 查询所有数据(实际工作中不建议)
SELECT * FROM my_tb;
--018 查询指定字段的数据
SELECT id,name FROM my_tb;

2、条件查询

--018 使用 WHERE 进行条件查询
SELECT * FROM my_tb WHERE name ='l 李四';

3、排序查询

--019 升序查询
SELECT * FROM my_tb ORDER BY id ASC; 
--020 降序查询
SELECT * FROM my_tb ORDER BY id DESC;

4、聚合查询

--021 结合聚会函数进行查询
SELECT 
  COUNT(*),  --记录数
  SUM(piaoshu), --票数和
  AVG(piaoshu) --平均票数
FROM
  my_tb

5、分组查询

--022 使用 GROUP BY 结合聚合函数进行分组查询
-- 假设有表 my_ta,有字段 部门、销量,现要求查出每个部门的销量
SELECT 部门, SUM(销量) FROM my_ta GROUP 部门;

6、分页查询

--023 使用 LIMIT 子句限制返回的行数,常用于分页显示结果
SELECT * FROM my_tb LIMIT 10 OFFSET 20;

7、多表查询

--024 等值查询
SELECT last_name,department_name
FROM employees e
INNER JOIN departments d
ON e.`department_id`=d.`department_id`;

--025 左外连接查询
SELECT b.name,bo.*
FROM beauty b
LEFT OUTER JOIN boys bo
ON b.`boyfriend_id`=bo.`id`
WHERE bo.`id` IS NULL;

--026 右外连接查询
SELECT b.name,bo.*
FROM boys bo
Right OUTER JOIN beauty b
ON b.`boyfriend_id`=bo.`id`
WHERE bo.`id` IS NULL;

8、子查询

--027 WHERE 后面的子查询
SELECT last_name,salary 
FROM employees 
WHERE salary>
  (SELECT salary from employees where last_name='Abel')

--028 HAVING 后面的子查询
SELECT department_id,MIN(salary) 
FROM employees GROUP BY department_id
HAVING MIN(salary)>
  (SELECT MIN(salary) FROM employees WHERE department_id =110) 

--029 select 后面的子查询
SELECT d.*,(
        SELECT COUNT(*)  
        FROM employees e 
        WHERE e.department_id =d.department_id
) 个数
FROM departments d;

--030 FROM 后面的子查询
SELECT ag_dep.*,g.`grade_level`
FROM(
  SELECT AVG(salary) AS ag,department_id 
  FROM employees GROUP BY department_id
  ) ag_dep 
INNER JOIN job_grades AS g 
ON ag_dep.ag BETWEEN lowest_sal AND highest_sal

9、联合查询

--031 联合查询使用 union 或者 union all
-- 两者区别:
-- union:对多个结果集进行并集操作,不包括重复行,同时进行排序。
-- union all:对多个结果集进行并集操作,包括重复行,不进行排序。
select id,caname,csex from t_ca where csex='男'
union all
select t_id,t_name,t_gender from t_ua where tgender='male'

四、数据控制语言:于创建数据库用户、控制数据库的访问权限等

1、用户管理

--032 查询用户 
SELECT * FROM user

--033 新建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

--034 修改用户密码
ALTER USER 'username'@'localhost' IDENTIFIED 
    WITH mysql_native_password BY 'new_password';

--035 删除用户
DROP USER 'username'@'localhost';

2、权限管理

--036 查询用户权限
SHOW GRANTS FOR 'username'@'localhost';

--037 授予权限
GRANT SELECT, INSERT, UPDATE ON 
    my_database.* TO 'username'@'localhost';

--038 撤销权限
REVOKE SELECT, INSERT, UPDATE ON 
    my_database.* FROM 'username'@'localhost';

结语

以上就是最常用 SQL 语句,涵盖了基本的知识点。数据分析人员的实际操作中,数据控制语言用的很少,主要使用的数据查询语言,其他的作为了解即可。

以上关于干货分享:开发常用的SQL语句大全,涵盖大多数基础知识点的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 干货分享:开发常用的SQL语句大全,涵盖大多数基础知识点

发表回复