
sql
文章平均质量分 73
公众号:AI自习室
这个作者很懒,什么都没留下…
展开
-
零基础入门 SQL 系列之(十)视图
视图是虚拟的表。与包含数据的表不一样,视图是包含查询语句。MySQL 从版本 5 开始支持视图。视图的存在主要是为了简化复杂的查询。例如我们要查询订购了某种产品的顾客,SQL 语句如下:SELECT cust_name, cust_contactFROM customers c JOIN orders o ON c.cust_id = o.cust_id JOIN orderitems oi ON oi.order_num = o.order_numWHERE原创 2021-01-27 15:38:02 · 209 阅读 · 1 评论 -
零基础入门 SQL 系列之(九)创建和操作表
创建表SQL 不仅可以用来操纵表中的数据,还可以对表本身进行操纵,包括表的创建、更改和删除。一般有两种创建表的方法:用可视化的管理数据库表的工具来创建。直接用 SQL 语句来创建。其实,在用工具创建的时候,本质上也是通过 SQL 语句来创建,只不过这些 SQL 语句是工具帮我们生成的。创建表使用 CREATE TABLE 关键字,创建过程中,给出如下信息:新表的名字,在关键字 CREATE TABLE 之后给出。表列的名字和定义,用逗号分隔。我们以 customers 表的创建为例,创原创 2021-01-27 15:34:04 · 198 阅读 · 0 评论 -
零基础入门 SQL 系列之(八)插入、更新、删除
插入INSERT 用来将行插入到数据库表中。插入有几种方式:插入完整的行。插入行的一部分。插入某些查询的结果。INSERT 语法要求指定表名和插入到新行中的值。例如,我们将一个新顾客插入到 customers 表中。INSERT INTO Customers VALUES('1000000006', 'Toy Land', '123 Any Street', 'New York', 'NY', '11111', 'USA', 'Jordan', 'Jordan@gmail.com');插原创 2021-01-27 15:25:47 · 290 阅读 · 1 评论 -
零基础入门 SQL 系列之(七)组合
前面讲到的 SQL 查询只包含从一个或多个表中返回数据的单条 SELECT 语句。SQL 也允许执行多个查询(多条 SELECT 语句),并将结果作为一个查询结果集返回,这些组合查询通常称为复合查询。主要有两种情况需要使用组合查询:1.对一个表执行多个查询,按一个查询返回数据。2.从不同的表返回数据。组合查询使用关键字 UNION,使用 UNION 很简单,所要做的只是给出每条 SELECT 语句,在各条 SELECT 语句之间放上关键字 UNION。举个例子,我们根据订单的日期将订单归到相应的月原创 2021-01-27 15:23:54 · 311 阅读 · 0 评论 -
零基础入门 SQL 系列之(六)表连接
等值连接(内连接)前面讲到的查询都是从单个数据表查询数据,如果需要查询的数据存储在多个表中,可以使用连接,连接其实就是将多张表根据一定的条件组合成一张表,然后从组合后的表中查询想要的数据。创建连接非常简单,指定要连接的所有表以及关联它们的方式即可。例如我们要在一个 SELECT 语句中查询每个供应商以及供应商供应的商品的名称和价格。我们可以这么查询:SELECT vend_name,prod_name,prod_priceFROM vendors, productsWHERE vendors.ven原创 2021-01-27 15:22:24 · 229 阅读 · 0 评论 -
零基础入门 SQL 系列之(五)数据汇总
数据汇总函数AVG() – 求平均值SELECT AVG(prod_price)FROM products;我们还可以对符合条件的行求平均值,例如:SELECT AVG(prod_price)FROM productsWHERE vend_id = 'BRS01';这里有两点要说明下:1.AVG() 会忽略列值为NULL的行。2.AVG() 只能用来确定特定数值列的平均值。COUNT() – 计数我们使用 COUNT() 函数进行计数。COUNT() 函数有两种使用方式:使用原创 2021-01-27 15:19:57 · 146 阅读 · 0 评论 -
零基础入门 SQL 系列之(四)内置函数
MySQL 内置了许多函数,包括数值函数、字符串函数以及日期函数。我们首先来看下常用的数值函数。ABS(x) – 返回 x 的绝对值。SELECT ABS(-1);SELECT ABS(1);CEIL(x) – 返回大于或等于 x 的最小整数。SELECT ceil(1.5);SELECT ceil(2);FLOOR(x) – 返回小于或等于 x 的最大整数。SELECT FLOOR(1.5);SELECT FLOOR(2)RAND(x) – 返回 0~1 之间的随机数。SEL原创 2021-01-27 15:17:46 · 191 阅读 · 0 评论 -
零基础入门 SQL 系列之(三)过滤数据
在实际工作中,我们用到的数据库表一般都比较大,记录条数在百万级甚至千万级。对于记录数比较多的表,只有在极少数情况下,才需要查询表里的全部数据。当我们只需要查询表里的部分数据时,需要我们在查询数据的时候指定查询条件。我们可以使用 WHERE 子句指定查询条件来过滤数据。可以在 WHERE 子句中使用的操作符包括:=,>,<,>=,<=,<>,BETWEEN AND,LIKE等。使用数值类型的列进行过滤SELECT prod_name, prod_price FROM原创 2021-01-27 15:03:44 · 296 阅读 · 0 评论 -
零基础入门 SQL 系列之(二)排序
单列排序SELECT prod_name FROM products ORDER BY prod_name;当我们不明确指定排序的顺序时,MySQl 默认按照升序排序。效果和我们明确指定升序是一样的,如果要明确指定按照升序排序,我们只要在需要排序的字段后面指定 ASC。SELECT prod_name FROM products ORDER BY prod_name ASC;和升序相对应的,我们可以进行降序排序。语法和升序一样,只不过 ASC 改成 DESC。SELECT prod_n原创 2021-01-27 15:00:00 · 203 阅读 · 0 评论 -
零基础入门 SQL 系列之(一)查询数据
查询单列SELECT prod_name FROM products;查询多列SELECT prod_id, vend_id FROM products;各个列之间以逗号分隔,最后一列的后面不加逗号。查询所有列SELECT prod_id, vend_id, prod_name, prod_price, prod_desc FROM products;除了列出所有的列名之外,我们还可以使用 * 号通配符来做到这点。SELECT * FROM products;一般而言,除非需原创 2021-01-27 14:53:14 · 200 阅读 · 0 评论