目录

1.数据检索

1.1 检索

1.2 排序

1.3 过滤

1.4 高级过滤

1.5 通配符过滤

1.6 计算字段

1.7 函数

1.8 汇总

1.9 分组

1.10 子查询

1.11 联结表

1.12 高级联结

1.13 组合查询

2 插入数据

3 更新和删除数据

4 创建和操纵表

5 使用视图

6 使用存储过程

7 管理事务处理

8 使用游标

9 高级SQL特性


1.数据检索

1.1 检索

检索单个列:SELECT 字段 FROM 表名;

检索多个列:SELECT 字段1,字段2,......,字段n FROM 表名;

检索所有列:SELECT * FROM 表名;

检索不同的值:SELECT DISTINCT 字段 FROM 表名;DISTINCT 关键字作用于查询中所有的列

限制结果(返回一定数量的行)

SQL SERVER/ACCESS:SELECT TOP 行数 字段 FROM 表名;

DB2:SELECT 字段 FROM 表名  FETCH FIRST 行数  ROWS ONLY;

ORACLE:SELECT 字段 FROM 表名  WHERE  ROWNUM  <=   行数;

MY SQL/MARIA DB/POSTGRE SQL/SQLite:

①  SELECT   字段  FROM  表名  LIMIT  行数;

LIMIT 行数 指示返回不超过该行数的数据

②  SELECT   字段  FROM  表名  LIMIT  行数1  OFFSET  行数2;

行数 2 指从哪开始(不包括),行数  1  指检索的行数

③  SELECT   字段  FROM  表名  LIMIT  行数2,行数1;

同上,注意行数2和行数1调换位置

1.2 排序

按单个列排序:SELECT 字段  FROM  表  ORDER  BY  字段;

按多个列排序:SELECT 字段1,字段2,......,字段n  FROM  表  ORDER  BY  字段1,字段2,......,字段n;

仅在多行具有相同的字段1值时才对字段2进行排序,如果字段1的值都是唯一的则不会按字段2排序。对于后面的字段3、4......n 同理。

按列位置排序:SELECT 字段1,字段2,......,字段n  FROM  表  ORDER  BY  2,3;

ORDER  BY  2 ,3 表示按SELECT清单中第2列(字段2)进行排序,再按字段3进行排序。注意:如果排序的列不在SELECT清单中不能使用按位置排序。

指定排序方向

①升序(A到Z):SELECT 字段  FROM  表  ORDER  BY  字段  ASC;

②降序(Z到A):SELECT 字段  FROM  表  ORDER  BY  字段  DESC;

③多个列排序:SELECT 字段1,字段2,......,字段n  FROM  表  ORDER  BY  字段1  DESC,字段2;

DESC关键字只应用到直接位于其前面的列名,即字段1 列降序排序,字段2按默认升序排序。如果想在多个列上降序排序,必须对每一列指定DESC关键字。

1.3 过滤

检查单个值:SELECT  字段  FROM  表  WHERE  字段 = 值;

不匹配检查:SELECT  字段  FROM  表  WHERE  字段 <> 值;

‘不等于’操作符不同的DBMS可能不同:<>或!=

范围值检查:SELECT  字段  FROM  表   WHERE  字段  BETWEEN  值1   AND  值2;

空值检查:SELECT  字段  FROM  表   WHERE  字段  IS  NULL;

WHERE 子句操作符

操作符                      说明

=                                等于

<> 或 !=                   不等于

<                                小于

<=                           小于等于

!<                              不小于

>                                大于

>=                           大于等于

!>                              不大于

BETWEEN             指定两个值之间

IS  NULL                  为NULL值

1.4 高级过滤

AND 操作符:SELECT  字段  FROM  表  WHERE  过滤子句1  AND   过滤子句2   AND  ........;

检索所有满足给定条件的行

OR 操作符:SELECT  字段  FROM  表  WHERE  过滤子句1  OR  过滤子句2   OR  ........;

检索任一给定条件的行

注意:使用AND和OR操作符的WHERE子句,应使用圆括号明确分组。(AND的优先级大于OR)

IN  操作符:①SELECT  字段  FROM  表  WHERE  字段  IN  (值1,值2,......,值n);

②  SELECT  字段  FROM  表  WHERE  字段  IN  (SELECT语句);

检索满足任一给定值的行

NOT  操作符:SELECT  字段  FROM  表  WHERE NOT  过滤子句 ;

否定其后条件的关键字,多用在复杂子句中

1.5 通配符过滤

LIKE 操作符

①  百分号(%)通配符:SELECT  字段  FROM  表  WHERE 字段  LIKE  'xxxx%' ;

检索任意以xxxx起头的值的行

Access 系统此通配符为星号✳

注意 :①% 可以放在任意位置,并且可以使用多个,如xx%xx、%xx%等

②许多DBMS用空格填补字段内容,如某字段字符设定为50个,而储存的文本仅有10个字符,此时后面用空格填补字段,查询时应注意此字段结束字符为空格

③%  不可以匹配NULL

②  下划线(_)通配符:SELECT  字段  FROM  表  WHERE 字段  LIKE  'xxxx_' ;

匹配单个字符

DB2 不支持此通配符,Access系统此通配符为?

③  方括号([ ])通配符:SELECT  字段  FROM  表  WHERE 字段  LIKE  '[xy]%' ;

找出所有以x或y起头的字段

只有Access和SQL Server 支持集合

否定集合:[^xy] 或 [!xy]

1.6 计算字段

拼接字段

SELECT  字段1 +  字段2  +‘字符’  FROM  表名;

Access\ SQL Server

SELECT  字段1   ||  字段2  ||  ‘字符’  FROM  表名;

DB2\Oracle\PostgreSQL\SQLite\Open Office Base

SELECT  CONCAT(字段1   , 字段2  ,  ‘字符’  )  FROM  表名;

MySQL\MariaDB

删除空格:SELECT  RTRIM(字段1) +  RTRIM(字段2)  +‘字符’  FROM  表名;

删除字段中用来占位的空格

RTRIM( )函数:去掉值右边所有空格

LTRIM( )函数:去掉值左边所有空格

TRIM( )函数:去掉值左右两边的空格

使用别名:SELECT  RTRIM(字段1) +  RTRIM(字段2)  +‘字符’  AS  别名 FROM  表名;

AS 可选,最好使用

算数计算

SELECT  字段1 *字段2  FROM  表名;

输出两字段值相乘的值

SQL 算数操作符

操作符                      说明

+                                加

-                                 减

*                                乘

/                                 除

使用算数计算注意计算的优先级

1.7 函数

函数

每个DBMS都有特定的函数,只有少数几个函数被主要的DBMS同等支持,使用函数时要保证做好代码注释

几个常用函数

① 提取字符串的组成部分

Access:MID (   )

DB2\Oracle\PostgreSQL\SQLite:SUSSTR(  )

MySQL\SQL Server:SUBSTRING(  )

②数据类型转换

Access和Oracle 使用多个函数,每种类型转换都有一个函数

DB2\PostgreSQL:CAST(  )

MariaDB\MySQL\SQL Server使用CONVERT(  )

③取当前日期

Access:NOW(  )

DB2\PostgreSQL:CURRENT_DATE

MariaDB\My SQL :CURDATE(  )

Oracle:SYSDATE

SQLServer:GETDATE(   )

SQLite:DATE(  )

使用函数

常用的文本处理函数

函数                                                                           说明

LEFT(  )(或使用子字符串函数)                            返回字符串左边的字符

RIGHT(   )(或使用子字符串函数)                        返回字符串右边的字符

LENGTH(  )(或使DATALENGTH( )\LEN( ))       返回字符串的长度

LOWER(  )(Access使用LCASE(  ))                    将字符串转换为小写

UPPER(  )(Access使用UCASE(  ))                    将字符串转换为大写

LTRIM(  )                                                                   去掉字符串左边的空格

RTRIM(  )                                                                  去掉字符串右边的空格

SOUNDEX(  )                                                            返回字符串的SOUNDEX值(返回读音相似的字符)

日期和时间处理函数(ORACLE)

①TO_CHAR(X,[FORMAT]):用于将时间值转换为字符串,其中FORMATA是规定X的时间格式(年月日时分秒:yyyy-mm-dd  hh24:mi:ss)

获取当前日期:SELECT  TO_CHAR(SYSDATE,‘yyyy-mm-dd  hh:mi:ss’) FROM  DUAL ;

②TO_DATE(X,[FORMAT]):用于将时间值转换为字符串,其中FORMATA是规定X的时间格式(年月日时分秒:yyyy-mm-dd  hh24:mi:ss)

数值处理函数

常用数值处理函数

函数                                 说明

ABS( )                   返回一个数的绝对值

EXP( )                   返回一个数的指数值

SQRT( )                 返回一个数的平方根

PI( )                       返回圆周率

COS( )                   返回一个角度的余弦

SIN( )                    返回一个角度的正弦

TAN( )                   返回一个角度的正切

1.8 汇总

聚集函数

SQL聚集函数

函数                                 说明

AVG( )                   返回某列的平均值

COUNT( )             返回某列的行数

MAX( )                  返回某列的最大值

MIN( )                   返回某列的最小值

SUM( )                  返回某列值之和

AVG() 函数只能用来计算单个列的平均值,为计算多个列必须使用多个AVG()函数

COUNT(*) 对表中行的数目进行计数,不管表列中是NALL还是非空,COUNT(column)对特定列进行计数,忽略NULL值

MAX() 用于文本时返回该列排序的最后一行

MIN() 用于文本时返回该列排序的第一行

聚集不同值

①ALL:对所有行执行计算(ALL为默认可以不指定)

②DISTINCT:只包含不同的值,不能用于COUNT(*)

SELECT  AVG(DISTINCT  字段) AS  别名    FROM   表  ;

组合聚集函数

SELECT语句包含多个聚集函数

SELECT  AVG(字段) AS  别名1,MIN(字段)  AS 别名2,COUNT(*)  AS  别名3   FROM   表  ;

1.9 分组

数据分组:使用分组可以将数据分为多个逻辑组,对每个组进行聚集计算

创建分组:SELECT  字段,COUNT(*)  AS  num  FROM  表   GROUP  BY  字段;

num为计算字段,用COUNT(*)建立。GROUP BY 子句指示DBMS按‘字段’排序并分组。最后对每个分组而不是整个结果进行聚集。

注意:

①在建立分组时,指定的所有列都一起计算,不能从个别列取回数据

②GROUP BY 子句中列出的每一列都必须是检索列或有效的表达式(不能是聚集函数),如果在SELECT中使用表达式,则必须在GROUP BY 子句中指定相同的表达式,不能使用别名

③除聚集计算语句外,SELECT语句中的每一列都必须在GROUP BY 子句中给出

④如果分组列中包含具有NULL值的行,则NULL将作为一个分组返回

⑤GROUP BY 子句必须出现在WHERE子句之后,ORDER BY 子句之前

过滤分组:SELECT  字段1,COUNT(*)  AS  num  FROM  表  WHERE 字段2 > 值1  GROUP  BY  字段1  HAVING COUNT(*)>值2;

HAVING用法于WHERE相同,WHERE过滤行,HAVING过滤分组

使用HAVING时结合GROUP BY 子句

分组和排序

ORDER BY  和  GROUP BY

ORDER BY                                                                   GROUP BY

对产生的输出排序                                                   对行分组,但输出可能不是分组的顺序

任意列都可以使用(包括未选择的列)                只能使用选择的列或表达式列,而且必须全部使用

不一定需要                                                               如果与聚集函数(或表达式)一起使用列,必须使用

一般使用GROUP BY 时,也应该给出ORDER BY 子句

SELECT子句顺序

子句                        说明                            是否必须使用

SELECT             要返回的列或表达式            是

FROM                从中检索数据的表               仅在表中选择数据时使用

WHERE             行级过滤                              否

HAVING             组级过滤                              否

GROUP BY       分组说明                               仅在按组计算聚集时使用

ORDER BY        输出排序顺序                      否

1.10 子查询

利用子查询进行过滤

SELECT 字段1  FROM  表1  WHERE  字段2   IN  (SELECT  字段3   FROM  表2   WHERE  字段4=‘字符串’);

作为子查询的SELECT语句只能查询单个列

作为计算字段使用子查询

SELECT   字段1,(SELECT  字段3  FROM 表2  WHERE  表1.字段4=表2.字段4) AS  字段2   FROM  表;

完全限定列名:表明.字段

1.11 联结表

创建联结(内联结\等值联结):

①SELECT  字段1,字段2,字段3    FROM  表1,表2    WHERE   表1.字段4=表2.字段4;

WHERE子句为联结条件,字段1,2,3 属于不同的表

没有联结条件返回的结果为笛卡尔积

②SELECT  字段1,字段2,字段3    FROM  表1    INNER JOIN   表2    ON   表1.字段4=表2.字段4;

1.12 高级联结

使用别名:

SELECT  字段1,字段2,字段3    FROM  表1  AS 别名1 ,表2 AS  别名2,表3   AS  别名3    WHERE   别名1.段4= 别名2.字段4   AND   别名2.字段5=别名3.字段5   ;

ORACLE不支持AS关键字,直接省略

不同类型的联结

自联结:SELECT  别名1.字段1,别1,.字段2,别名1.字段3  FROM  表1 AS  别名1,表1 AS 别名2   WHERE  别名1.字段4=别名2.字段4   AND   别名2.字段5=‘值’;

自然联结:见 1.11②

外联结:SELECT  表1.字段1,表2.字段2  FROM  表1   LEFT OUTER JOIN 表2   ON  表1.字段3=表2.字段3;

外联结包括没有关联的行,在使用OUTER JOIN 语法时,必须使用RIGHT 或 LEFT 关键字指定包括其所有行的表(RIGHT 指出的是OUTER JOIN 右边的表)

全外联结:SELECT  表1.字段1,表2.字段2  FROM  表1   FULL OUTER JOIN 表2   ON  表1.字段3=表2.字段3;

带聚集函数的联结:SELECT 表1.字段1, COUNT(表2.字段2) AS 别名  FROM 表1 INNER JOIN 表2 ON 表1.字段1 = 表2.字段2  GROUP BY 表1.字段1;

1.13 组合查询

使用UNION

SELECT  ~~~    NUION    SELECT~~~

UNION指示DBMS执行这两条SELECT语句,并把输出组合成一个查询结果集

UNION使用规则

①UNION必须由2条或2条以上的SELECT语句组成,语句之间用关键字UNION分隔

②UNION中的每个查询必须包含相同的列、表达式或聚集函数(次序无要求)

包含或取消重复的行:NUION 去除重复的行,UNION  ALL返回所有行。

对组合查询结果排序:在最后一条SELECT语句使用ORDER BY子句

2 插入数据

数据插入

插入完整的行

INSERT INTO 表名   VALUES('值',‘值’,......,‘值’,null,null);

插入到表中的数据在VALUE子句中给出

必须给每一列提供一个值

如果没有值则需要插入NULL值

各列必须以他们在表定义中出现的次序填充

INSERT INTO 表名(字段1,字段2,......,字段n)   VALUES('值',‘值’,......,‘值’,null,null);

表明后提供列名,VALUES以其指定的次序匹配指定的列名,不需要按各列出现在表中的实际次序

插入部分行

利用插入完整行的第二种方式,不用列出所有字段

插入检索出的数据

INSERT INTO 表1(字段1,字段2,......,字段n)   SELECT 字段1,字段2,.....,字段n  FROM  表2;

从表2中读出数据并插入到表1中

注:读取表的列名和插入表的列名不需要一致,DBMS只按照对应位置进行匹配

注:①INSERT 通常只插入一行,要插入多行必须执行多个INSERT语句。

②INSERT   SELECT  可以用一条INSERT插入多行,不管SELECT 语句返回多少行,都会被INSERT 插入

从一个表复制到另一个表

CREATE TABLE 表1  AS  SELECT *  FROM 表2;

将表2中的数据复制到新表1(运行中创建的表)中

注:①任何SELECT选项和子句都可以使用,包括WHERE和GROUP BY

②可利用联结从多个表中插入数据

③不管从多少个表中检索数据,数据都只能插入到一个表中

3 更新和删除数据

更新数据:UPDATE  表名   SET  字段1=‘值’,字段2=‘值2’   WHERE   ~;

基本的UPDATE语句由3部分组成,要更新的表+列名和他们的新值+确定要更新哪些行的过滤条件

要删除某个字段的值可以设置它为NULL

删除数据:DELETE  FROM  表名  WHERE  字段=‘值’;

DELETE  不需要列名或通配符

DELETE 不删除表本身,只删除行

删除所有行使用 TRUNCATE  TABLE 语句,速度更快

重要原则:在UPDATE 或 DELETE前,应该先用SELECT 进行测试

4 创建和操纵表

创建表(GREATE  TABLE)

CREATE TABLE 表名

(

列名            数据类型                   NOT NULL,

.......

列名            数据类型                    NULL

);

每个列要么是NULL列,要么是NOT NULL列,创建表时进行规定。NULL 值允许插入行时不给出该列的值,NOT NULL值的列不接受没有列值的行

指定默认值

CREATE TABLE 表名

(

列名            数据类型                   NOT NULL    DEFAULT 1,

.......

列名            数据类型                    NULL

);

第一列描述增加的DEFAULT 1,指示DBMS如果不给出数量则使用数量1

默认值常用语日期或时间戳列

更新表(ALTER  TABLE)

增加列:ALTER TABLE 表名  ADD 字段 数据类型 ;

删除列:ALTER TABLE 表名  DROP COLUMN 字段 ;

删除表(DROP  TABLE)

DROP  TABLE 表名;

注意:删除表没有确认也无法撤销

重命名表

DB2/MariaDB/MySQL/Oracle / PostgreSQL:RENAME

SQL Server:sp_rename

SQLite:ALTER   TABLE

5 使用视图

视图:视图是一个查询结果,创建视图后,可以用与表基本相同的方式使用它们,视图可看做虚拟的表

创建视图:GREATE  VIEW  视图名   AS    SELECT  ~~~~

利用视图简化复杂的联结:

CREATE VIEW ProductCustomers AS

SELECT cust_name, cust_contact, prod_id

FROM Customers, Orders, OrderItems

WHERE Customers.cust_id = Orders.cust_id

AND OrderItems.order_num = Orders.order_num;

利用视图重新格式化检索出的数据:

CREATE VIEW VendorLocations AS

SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'

AS vend_title

FROM Vendors;

利用视图过滤不想要的数据:

CREATE VIEW CustomerEMailList AS

SELECT cust_id, cust_name, cust_email

FROM Customers

WHERE cust_email IS NOT NULL;

使用视图与计算字段:

CREATE VIEW OrderItemsExpanded AS

SELECT order_num,

prod_id,

quantity,

item_price,

quantity*item_price AS expanded_price

FROM OrderItems;

6 使用存储过程

存储过程:为以后使用而保存的一条或多条SQL语句(由SQL代码转换)

创建存储过程

CREATE PROCEDURE MailingListCount (

ListCount OUT INTEGER

)

IS

v_rows INTEGER;

BEGIN

SELECT COUNT(*) INTO v_rows

FROM Customers

WHERE NOT cust_email IS NULL;

ListCount := v_rows;

END;

LISTCOUNT:参数

OUT(从存储过程返回值)、IN(传递给存储过程)、INOUT(既传递值给存储过程也从存储过程传回值)

存储过程的代码包括在BEGIN和END语句中

7 管理事务处理

事务处理

事务处理是一种机制,保证数据库不包含不完整的操作结果,一组操作要么完全执行,要么完全不执行。如果没有错误发生,整组语句提交给数据库表;如果发生错误,则进行撤销,将数据库恢复到某个已知且安全的状态

事务处理用来管理INSERT\UPDATE和DELETE语句

控制事务处理

SQL Server

BEGIN TRANSACTION

...

COMMIT TRANSACTION

BEGIN TRANSACTION  和  COMMIT TRANSACTION  之间的SQL必须完全执行或者完全不执行

MariaDB 、 MySQL

START TRANSACTION

...

Oracle

SET TRANSACTION

...

PostgreSQL

BEGIN

...

使用ROLLBACK

DELETE FROM Orders;

ROLLBACK;

ROLLBACK命令用来回退(撤销)SQL语句

使用COMMIT

一般的SQL语句都是针对数据库表直接执行和编写---隐式提交

在事务处理块中,提交不会隐式进行,需使用COMMIT语句

以ORACLE为例:

SET TRANSACTION

DELETE OrderItems WHERE order_num = 12345;

DELETE Orders WHERE order_num = 12345;

COMMIT;

使用保留点

在合适的位置放置占位符,支持回退部分事务,在SQL中,这些占位符被称为保留点

创建占位符

MariaDB、MySQL 、Oracle:SAVEPOINT delete1;

SQL Server:SAVE TRANSACTION delete1;

回退到保留点

MariaDB、MySQL 、Oracle:ROLLBACK TO delete1;

SQL Server:ROLLBACK TRANSACTION delete1;

8 使用游标

游标

游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集

在储存了游标之后,应用程序可以根据需要滚动或浏览其中的数据

游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或作出修改

使用游标

使用游标的步骤

①在使用游标前,必须声明(定义)它,这个过程没有检索数据,它只是定义要会用的SELECT语句和游标选项

②一旦声明,就必须打开游标以供使用。这个过程用前面定义的SELECT语句把数据实际检索出来

③对于填有数据的游标,根据需要取出(检索)各行

④在结束游标使用时,必须关闭游标,可能的话,释放游标

创建游标

DB2、MariaDB、MySQL 、 SQL Server

DECLARE 游标名 CURSOR FOR SELECT 字段 FROM 表名;

Oracle 、 PostgreSQL

DECLARE CURSOR 游标名 IS SELECT 字段 FROM 表名;

使用游标

OPEN CURSOR 游标名

关闭游标

CLOSE  游标名

9 高级SQL特性

约束:

管理如何插入或处理数据库数据的规则

①主键

主键是一种特殊的约束,用来保证一列(或一组列)中的值是唯一的,而且永不变动

创建主键

CREATE TABLE 表名 (字段名       数据类型     NOT NULL  PRIMARY  KEY);

ALTER  TABLE  表名  ADD  CONSTRAINT  PRIMARY  KEY  (字段名);

②外键

外键是表中的一列,其值必须列在另一个表的主键中。外键是保证引用完整性的重要部分。

创建外键

CREATE  TABLE  表1 (字段1      数据类型    NOT  NULL  REFERENCES   表2(字段2));

字段1中的任何值都必须是表2的字段2中的值

ALTER TABLE 表1  ADD CONSTRAINT FOREIGN KEY (字段1) REFERENCES 表2 (字段2);

③唯一约束

④检查约束

CREATE  TABLE  表1 (字段1      数据类型    NOT  NULL  CHECK(字段1>0));

保证字段1>0

索引:

用来排序数据以加快搜索和排序操作的速度

创建索引:CREATE INDEX 索引名 ON 表名 (字段名);

触发器:

是特殊的存储过程,在特定的数据库活动发生时自动执行

数据库安全

《SQL必知必会》全书语句整理汇总相关推荐

  1. MySQL必知必会 代码+说明 全书整理

    前不久收获一本<mysql必知必会>实体书,这周得空将整本书再次回顾了下. 整理了书中全部的代码,加上了必要的语句说明. 我所使用的软件版本:mysql workbench 8.0.15 ...

  2. 《MySQL必知必会》所有SQL语句图表集合(可作为查询表使用)---已完结

    本篇文章是对<MySQL必知必会>所有语句知识点的图表集合,适合快速查询遗忘的SQL语句. 本文的脉络结构,首先先给出<MySQL必知必会>的目录和本书中用到的数据表的UML图 ...

  3. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  4. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

  5. asp sql ip地址排序_SQL必知必会读书笔记,30分钟入门SQL!

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 来源:https://segmentfault.com/p/1210000011760 ...

  6. 根据SQL必知必会学习SQL(MYSQL)

    很久都没有整理SQL语句了,遇到让写SQL语句的题也很迷茫,所以就重拾一下知识,本文章根据SQL必知必会进行梳理 文章目录 一.检索所有列 1.select 1.1检索单个列 1.2 检索多个列 1. ...

  7. SQL必知必会-笔记(完善版):第1课

    文章目录 SQL必知必会 一.了解数据库 1.1 数据库基础 1.1.1 数据库 (补充)数据库管理系统: 注意1: 1.1.2 表 1.1.3 列和数据类型 1.1.4 行row 1.1.5 主键 ...

  8. 《SQL必知必会》查询部分学习笔记

    目录 <SQL必知必会>查询部分学习笔记 1 前言 2 认识SQL 3 检索数据 4 排序检索数据 5 过滤数据 6 高级数据过滤 7 通配符 8 创建计算字段 9 使用函数处理数据 11 ...

  9. GitHub#SQL#:SQL必知必会

    https://github.com/CyC2018/Interview-Notebook 一.基础 二.创建表 三.修改表 四.插入 五.更新 六.删除 七.查询 八.排序 九.过滤 十.通配符 十 ...

最新文章

  1. 写好python的代码怎么放在spark上跑_Spark精华问答 | spark的组件构成有哪些?
  2. mysql字符调整_mysql字符集调整
  3. MFC中GetDlgItemInt()方法的疑惑与使用总结
  4. C语言中return的各种用法
  5. Concurrent HTTP connections in Node.js
  6. commons-pool2-2.3 jar包_[漏洞复现]FastJson 1.2.61远程代码执行漏洞(From第三方jar包)
  7. SQL SERVER “扩展属性的应用
  8. Python Imaging Library: ImageSequence Module(图像序列模块)
  9. vue项目实战中的笔记
  10. ALtium 16等长布线、差分布线
  11. Centos7 [Errno 14] curl#37 - Couldn't open file /mnt/Packages/repodata/repomd.xml
  12. 西北工业大学 编译原理实验 minic文法 编译器前端 flex-bison实现 的 debug手记
  13. ip归属地是什么?ipv4和ipv6区别?
  14. php 加减法,php加减法
  15. 空战神作《浴血长空》折扣充值平台全方位多角度体验
  16. win10计算机三级密码设置,Win10系统下共享文件夹如何设置密码访问?
  17. Unity实现在白板上绘画涂鸦
  18. “海大学舍”Scrum Meeting(第十周会议记录)
  19. ipad批量删除图片
  20. speedoffice(PPT)插入的图片如何自动适合幻灯片页面大小呢?

热门文章

  1. 拍一拍,从入门到尴尬
  2. Java实现Ftp文件下载及图片预览
  3. 百度开启“营销之道” 搜索引擎营销最先进
  4. 神经网络 mse一直不变_MATLAB中的神经网络工具箱(2)函数命令及模型搭建
  5. 华为云CDN使能千行百业,业务价值不断凸显!
  6. 如何订阅没有RSS输出的网站
  7. java计算机毕业设计-民宿管理系统-演示录像2020源码+系统+mysql数据库+lw文档
  8. yolov5 windows 下训练+ c++ TensorRT 部署在qt (vs+qtcreator) 只要一篇文章即可
  9. hc05与单片机连接图_单片机开发一个数据采集系统,一看就是高手
  10. python AttributeError: module 'pygame' has no attribute 'display'