SQL第一周学习笔记---sql语句、select、insert、count、update、delete

SQL学习 专栏收录该内容
11 篇文章 0 订阅

这是我从头开始学习sql/mysql的学习笔记,后续还会更新。

记录自己的技术成长,也希望和大家分享交流,欢迎关注~

本笔记为coursera网站课程《Databases and SQL for Data Science with Python》的学习笔记

在本模块中,您将学习一些基本的SQL语句,并在实时数据库上动手实践它们。

学习目标

  • 描述SQL和数据库
  • 解释基本SQL语句的语法-选择,插入,更新,删除
  • 在实时数据库上动手编写和执行基本的SQL语句
  • 演示如何编写基本的SQL语句

一.欢迎使用SQL for Data Science

SQL 作为数据科学家的三大技能之一。 在您进入数据科学领域之前, 设定好自己是至关重要的 通过掌握该领域的基础来分开。

您将需要的基本技能之一是SQL。SQL是一种功能强大的语言,用于与数据库进行通信。

学习SQL将使您对关系数据库有很好的了解。 挖掘所有这些信息需要有能力 与存储数据的数据库进行通信。 即使您使用可为您生成SQL查询的报告工具, 编写自己的SQL语句可能很有用,因此您需要 不要等待其他团队成员为您创建SQL语句。

在本课程中,您将学习以下方面的基础知识: SQL语言和关系数据库。 该课程包括有趣的测验和动手实验室作业, 您可以在其中获得使用数据库的经验。

在前几个模块中, 您可以直接使用数据库并开发SQL的实用知识。 然后,您将连接到数据库并运行 像数据科学家一样的SQL查询通常会, 您将在其中使用Python和Jupyter笔记本进行连接的地方 关系数据库以访问和分析数据。 在课程即将结束时还包括一项作业, 您将有机会应用所学的概念。

二.数据库概论

SQL是一种用于关系数据库从数据库查询或获取数据的语言。 SQL也称为SQL 并且它的原始名称结构化英语查询语言(Structured English Query Language)。

数据很重要;所以,它必须是安全,并且需要快速存储和访问。 答案是一个数据库。

数据库是数据存储库。 它是一个存储数据的程序。 数据库还提供添加, 修改和查询该数据。 存在具有不同要求的不同种类的数据库。 数据可以各种形式存储。

数据库是数据的存储库。 一组用于数据库中数据的软件工具称为 数据库管理系统或简称DBMS。 术语数据库,数据库服务器,数据库系统, 数据服务器和数据库管理系统经常互换使用。

关系数据库管理系统的示例是 我的SQL,Oracle数据库, DB2 Warehouse和Cloud上的DB2。

对于大多数使用数据库的人来说,有五个简单的命令可以创建表格, 插入数据以填充表格, 从表格中选择数据, 更新表中的数据, 从表中删除数据。 因此,这些是数据科学SQL的基础。

三.select陈述式

SELECT语句称为查询, 我们从执行该查询中获得的输出称为结果集或结果表。

数据将通过添加到书表中 使用insert语句向表中添加行。

关系操作有助于我们限制 通过允许我们使用WHERE子句来设置结果集。 WHERE子句始终需要谓词。 谓词的条件值为真,假或未知。 在WHERE子句的搜索条件中使用谓词。 因此,如果我们需要知道book_id为B1的书的标题, 我们使用WHERE子句,将谓词book_id等于B1。 从book_id等于B1的书中选择book_id标题。

还有其他支持的比较运算符 关系数据库管理系统:等于, 大于,小于 大于或等于 小于或等于,不等于。 现在,您可以检索数据并从关系数据库表中选择列, 定义谓词的使用, 使用WHERE子句标识SELECT语句的语法,并 列出关系数据库管理系统支持的比较运算符。

SQL的*和%:

SQL *和%区别为:作用不同、优先级不同、针对范围不同。

一、作用不同

1、*通配符:*通配符的作用是用来匹配所有结果集。
2、%通配符:%通配符的作用是用来替代一个或多个字符。

二、优先级不同

1、*通配符:*通配符的优先级比%通配符高,在同一条sql语句中,优先执行。

2、%通配符:%通配符的优先级比*通配符低,在同一条sql语句中,稍后执行。



三、针对范围不同

1、*通配符:*通配符的针对范围为一条记录的所有字段。

2、%通配符:%通配符的针对范围为一条记录的单个字段。

选出满足某个条件的所有列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ls8LQDsa-1628407334294)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408205855272.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TGyVw33K-1628407334297)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408205949519.png)]

选出某一列(投影)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t6TJURz7-1628407334299)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408210110965.png)]

四.count,distinct,limit

1.count

1、SQL COUNT(column_name) 语法

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_nameSQL

2、COUNT(*) 语法

COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM table_nameSQL

3、COUNT(DISTINCT column_name) 语法

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT column_name) FROM table_name注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cqgirGnF-1628407334302)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408211612629.png)]

2.distinct

https://blog.csdn.net/cho3en1/article/details/53260323?locationNum=6&fps=1&ops_request_misc=&request_id=&biz_id=102&utm_term=COUNT%EF%BC%8CDISTINCT%EF%BC%8CLIMIT%20%E4%B8%8A%E4%B8%80%E4%B8%AA&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-53260323.first_rank_v2_pc_rank_v29

在表中有多个重复记录的情况下,可能更有意义的是仅返回唯一记录,而不是获取重复记录。
SQL DISTINCT关键字与SELECT结合使用以消除所有重复记录,并仅返回唯一记录。
DISTINCT的基本语法如下:

SELECT DISTINCT column_name1, column_name2 FROM table_name;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-btJE6Gdl-1628407334304)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408210815471.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uOI7J5Ef-1628407334305)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408210933007.png)]

3.limit

https://blog.csdn.net/cho3en1/article/details/53260323?locationNum=6&fps=1&ops_request_misc=&request_id=&biz_id=102&utm_term=COUNT%EF%BC%8CDISTINCT%EF%BC%8CLIMIT%20%E4%B8%8A%E4%B8%80%E4%B8%AA&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-53260323.first_rank_v2_pc_rank_v29

默认情况下,将返回满足SQL语句中指定的条件的所有结果。 然而,有时我们需要检索记录的一个子集。 在MySQL中,这是通过使用LIMIT关键字完成的。
LIMIT的语法如下:

SELECT column list FROM table_name LIMIT [number of records];

例如,我们可以从customers表中检索前五个记录。

SELECT ID, FirstName, LastName, City FROM customers LIMIT 5;

这将产生以下结果:

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xwjmB1Eb-1628407334306)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408211213038.png)]

五.insert语句

INSERT INTO 语句可以用两种形式编写。

第一个表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

第二种,如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。INSERT INTO语法如下所示:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

原文链接:https://blog.csdn.net/xiaolute/article/details/90519666

操作成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BxoPKR4H-1628407334307)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408213456421.png)]

原数据表:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vBUNzchb-1628407334308)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408214444110.png)]

变化后的:(需要右键刷新)(20009被后边的操作删去,之前忘了截图)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYWoyUCP-1628407334311)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408214508954.png)]

六.update和delete语句

1.update

一般简单的update语法比较通用

UPDATE table_name
SET column1=value1,
	column2=value2,
	...
WHERE some_column = some_value;


注:若不加where条件则是更新表中的所有数据,
故执行没有where子句的update要慎重再慎重。

UPDATE subject
SET name='数学',
	type='理学' 
WHERE id = 1;

2.delete

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IrmJLY6B-1628407334312)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408213738559.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N7y6Jwp1-1628407334313)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408213800032.png)]

结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acuflu3o-1628407334314)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408214313342.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJxvcguM-1628407334315)(C:\Users\YUANMU\AppData\Roaming\Typora\typora-user-images\image-20210408214401312.png)]
都看到这里了,不如点个赞哦~
在这里插入图片描述

亲爱的朋友,这里是我成立的公众号,欢迎关注!
本博客的优秀博文也将陆续搬运到公众号,之后还将推出更多优秀博文,并将优先发在公众号,敬请期待!
关注起来,让我们一起成长!

在这里插入图片描述

  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值