这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战
大家好,我是【豆干花生】,这次我带来了一整套sql、mysql学习笔记,后续还会更新~
sql大家是很常用的数据库语言,但是对于初学者,往往不能系统的学习,所以我带来了一套完整笔记
今天我要分享第一周笔记,在本模块中,你将学习一些基本的SQL语句,并在实时数据库上动手实践它们。
记录自己的技术成长,后续还会更新,欢迎关注~
注:本笔记为coursera网站课程《Databases and SQL for Data Science with Python》的学习笔记
学习目标
- 描述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、%通配符:%通配符的针对范围为一条记录的单个字段。
选出满足某个条件的所有列
选出某一列(投影)
四.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。
2.distinct
在表中有多个重复记录的情况下,可能更有意义的是仅返回唯一记录,而不是获取重复记录。 SQL DISTINCT关键字与SELECT结合使用以消除所有重复记录,并仅返回唯一记录。 DISTINCT的基本语法如下:
SELECT DISTINCT column_name1, column_name2 FROM table_name;
3.limit
默认情况下,将返回满足SQL语句中指定的条件的所有结果。 然而,有时我们需要检索记录的一个子集。 在MySQL中,这是通过使用LIMIT关键字完成的。 LIMIT的语法如下:
SELECT column list FROM table_name LIMIT [number of records];
例如,我们可以从customers表中检索前五个记录。
SELECT ID, FirstName, LastName, City FROM customers LIMIT 5;
这将产生以下结果:
五.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, ...);
原文链接:blog.csdn.net/xiaolute/ar…
操作成功:
原数据表:
变化后的:(需要右键刷新)(20009被后边的操作删去,之前忘了截图)
六.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
结果
码字不易,都看到这里了不如点个赞哦~
刚到掘金,之后会将之前的高赞文章陆续搬运到这里,欢迎关注我哦~ 现在关注就是老粉了呢~