SQL 语言简介

SQL (Structure Query Language) 语言是一种在关系型数据库中定义、查询、操纵和控制数据的标准语句。
大多数据库厂商都在SQL-92标准的基础上对SQL又进行了一定的扩充,产生了事务化的SQL语言,即Transact SQL语言,简称T-SQL语言。

  • SQL 语言是一种面向集合的数据库语言,其主要特点是: 类似于英语,直观、简单易学;
  • SQL语言只是提出要“干什么”,“怎么办”则由DBMS来完成。
  • SQL语句既可以独立,也可以嵌入到另外一种语句中使用的语句,即具有自含型和缩主型两种特征。自含型特征可以用于所有用户,缩主型适合于应用程序员开发数据库应用程序。
  • SQL语句分为四类:数据查询语句、数据操纵语句、数据定义语句和数据控制语句:
    数据操作语句
    select、 insert 、 delete 、 update
    数据定义语句
    create table 、 drop table 、 alter table
    create view 、 drop view
    create index 、drop index
    create procedure 、 alter procedure 、 drop procedure
    create trigger 、 alter trigger、 drop trigger
    数据访问控制
    grant 、 revoke
    事务控制语句
    begin transaction/commit 、 rollback 、 set transaction
    编程语句
    declare 、 open 、fetch、 close、execute

数据库管理员和应用系统开发人员用SQL语言可以做以下事情:
(1)创建主键、外键、约束、规则、触发器、事务,用以实现数据完整性;
(2)查询、更新、删除数据库中的信息
(3)对各种数据库对象设置不同的权限、实现数据库的安全性;
(4)进行分布式数据处理,实现数据库间的数据复制、传递和执行分布式查询;
(5)可以创建批处理、存储过程、视图,方便应用程序访问数据库中的数据;
(6)实现数据仓库,从联机事务处理系统中提取数据,对数据汇总进行决策支持分析;

数据检索

1.单表查询
SELECT 语句的基本语法:

SELECT [ALL|DISTINCT] column_list
[INTO new_table_name]
FROM table_list
[WHERE search_condition]
[GROUP BY group_by_list]
[HAVING search_condition]
[ORDER BY order_list [ASC | DESC] ]

子句说明:
SELECT:此关键字用于从数据库中检索数据;
ALL|DISTINCT:ALL指定在结果集中可以包含重复行,ALL 是默认设置;关键字DISTINCT指定SELECT 语句的检索结果不包含重复的行;
column_list:描述进入结果集的列,它是由逗号分隔的表达式的列表。每个列表中表达式通常是对从中获取数据的源表或视图的列的引用,但也可能是其它表达式,例如常量或 Transact-SQL 函数。如果select_list使用 *,表明指定返回源表中的所有列;
INTO new_table_name :指定查询到的结果集存放到一个新表中。new_table_name为指定新表的名称;
FROM table_list:用于指定产生检索结果集的源表的列表。这些源表包括:SQL Server的本地服务器中的基表、本地 SQL Server 中的视图、链接表。SQL Server 将一个视图引用内部解析为针对组成视图的一个或多个基表的引用,链接表是从SQL Server 进行访问的 OLE DB 数据源中的表,这种访问方式称为分布式查询;
WHERE search_condition:用于指定检索的条件,它定义了源表中的行数据进入结果集所要满足的条件,只有满足条件的行才能出现在结果集中;
GROUP BY group_by_list:GROUP BY子句根据group_by_list 列中的值将结果集分成组;
HAVING search_condition:HAVING子句是应用于结果集的附加筛选。从逻辑上讲,HAVING子句从中间结果集对行进行筛选,这些中间结果集是用SELECT语句中的 FROM、WHERE或GROUP BY子句创建的。HAVING 子句通常与 GROUP BY 子句一起使用,尽管HAVING子句前面不必有GROUP BY子句;
ORDER BY order_list [ ASC | DESC ]:ORDER BY子句定义结果集中的行排列的顺序。order_list 指定依据哪些列来进行排序。ASC和DESC关键字用于指定结果集是按升序还是按降序排序,DESC降序排序,ASC升序排序。ORDER BY 是一个重要的子句,要想获得有序的查询结果,必须使用ORDER BY子句,因为关系理论规定表中的数据行是没有次序的。
注:在 FROM 子句中所指定的表或视图可能有相同的列名,外键很可能和相关主键同名。加上对象名称来限定列名可解决重复列名称的问题,如:department.department_no、teacher. department_no。

2.高级查询
(1)多表查询
(1.1)用于FROM子句的ANSI连接语法形式

SELECT  column_list
FROM   {table_name  [join_type]  JOIN  table_name  ON connection_condition}
WHERE   search_condition

ANSI的语法形式中:

  • FROM子句:通过JOIN子句给出连接时使用到的表名;
  • join_type:连接的类型:
    1.内连接(INNER JOIN):内连接返回的结果集中只包括满足连接条件的行。
    2.交叉连接(CROSS JOIN):交叉连接包括两个表中所有行的笛卡儿积。如一个表有10条记录,另如一个表有20条记录,交叉连接后将会产生200条记录。
    3.外连接(OUTER JOIN):外连接除了包括满足连接条件的行外,还包括其中某个表的全部行。
  • connection_condition:表与表之间的连接条件;
  • search_condition:表中行数据进入结果集所应满足的条件;

(1.2)用于WHERE子句的SQL Server 连接语法形式

SELECT column_list
FROM table_list
WHERE {table_name.column_name  JOIN_OPERATOR table_name.column}[…n]  [and search_condition]

SQL Server的语法形式中:

  • FROM子句:列出连接时使用到的全部表名;
  • JOIN_OPERATOR连接操作符为:=、>、<、> =、< =、< >;
  • search_condition:表中行数据进入结果集所应满足的条件;

注意:
①一般而言,基于主键和外键指定查询条件,连接条件可使用“主键=外键”。
② 如果一个表有复合关键字,在连接表时,必须引用整个关键字。
③ 应尽可能限制连接语句中表的数目,连接的表越多,查询处理的时间越长。
④ 对于连接表的两个列应有相同或类似的数据类型。
⑤ 不要使用空值作为连接条件,因为空值计算不会和其它任何值相等。
例子:从student及student_course两个表中检索学生的学号、姓名、学习课程号及课程成绩

use  jwgl
select s.student_id , s.student_name , s_c.course_id , s_c.grade  from student  s , student_course   s_c
WHERE  s.student_id = s_c.student_id

(2)union子句
UNION子句的作用是把两个或多个SELECT语句查询的结果组合成一个结果集,UNION子句的语法形式如下:

  Select_statement UNION [ALL] Select_statement […n]

注意:
① UNION中从源表选择的所有列表必须具有相同列数、相似数据类型和相同的列序。
② 列名来自第一个SELECT语句。
③ 如果希望整个结果集以特定的顺序出现,则UNION中应使用ORDER BY子句来指定对结果集的排序顺序。
④ 在合并结果时,将从结果集中删除重复行。若使用ALL,结果集中包含所有的行。

例子:用UNION子句将student表中学生的学号、姓名及teacher表中教师号、教师姓名组合在一个结果集中

USE   jwgl
GO
SELECT  student_id , student_name FROM  student
UNION
SELECT teacher_id , teacher_name  FROM teacher

(3)group by子句
使用GROUP BY子句进行数据检索可得到数据分类的汇总统计、平均值或其它统计信息
(3.1)GROUP BY子句的语法形式如下:

SELECT column_name_list
FROM table_name
WHERE search_condition
[GROUP BY [ALL] aggregate_expression[…n]
[HAVING search_condition]
  • aggregate_expression:分组表达式
  • search_condition:对分组汇总后数据进入结果集的筛选条件

注意:
① SQL Server为每个定义的组产生一个列值,每个组只返回一行,不返回详细信息。
② 如果包括WHERE子句,SQL Server只分组汇总满足WHERE条件的行。
③ 在包含GROUP BY子句的查询语句中,SELECT子句后的所有字段列表,除集合函数外,都应包含在GROUP BY子句中,否则将出错。
④ GROUP BY子句的列表中最多只能有8060个字节。
⑤ 不要在含有空值的列上使用GROUP BY子句,因为空值将作为一个组来处理。
⑥ 如果GROUP BY子句使用ALL关键字,WHERE子句将不起作用。
⑦ HAVING子句排除不满足条件的组。

(3.2)不带HAVING的GROUP BY 子句的用法
GROUP BY子句是按列或表达式分组汇总,为每组产生一个值,一般和集合函数一起使用
例子:用GROUP BY句汇总出student_course表中学生的学号及总成绩

USE  jwgl
GO
SELECT  '学号‘ = student_id , '总成绩‘ = sum(grade) FROM  student_course
GROUP BY   student_id

(3.2)带HAVING的GROUP BY 子句的用法
可以用HAVING子句对分组汇总后进入结果集的各组进行限制。 HAVING子句是针对GROUP BY子句的,没有GROUP BY子句时使用HAVING子句是没有意义的
例子:用GROUP BY句汇总出student_course表中总分大于450分的学生的学号及总成绩

USE   jwgl
GO
SELECT  '学号‘  = student_id , '总成绩‘ = sum(grade) FROM  student_course
GROUP BY  student_id   HAVING   sum(grade)>450

(4)compute,compute by 子句
使用COMPUTE和COMPUTE BY就既能浏览数据又看到统计的结果
COMPUTE BY子句的语法形式如下:

COMPUTE  row_aggregate (column_name ) […n]
[BY  column_name_list]

例子:用COMPUTE子句汇总出student_course表中每个学生的学号及总成绩

USE   jwgl
GO
SELECT   '学号‘   =  student_id  ,  '成绩‘  =  grade   FROM student_course    ORDER BY    student_id
COMPUTE    SUM(grade)

COMPUTE类似于总计。如在COMPUTE后加上BY关键字,则查询的结果为带具体内容的分类统计

例子:用COMPUTE BY子句按学号汇总出student_course表中每个学生的的学号及总成绩

USE   jwgl
GO
SELECT  ‘学号‘ = student_id , ’成绩‘ = grade  FROM  student_course ORDER BY  student_id
COMPUTE  SUM(grade) BY  student_id

注意:有如下限制:
① DISTINCT不允许同集合函数一起用,不能包含text、ntext、image数据类型。
② COMPUTE子句中的列必须在SELECT后面的选择列表中。
③ SELECT INTO不与COMPUTE子句一起使用。
④ 若使用了COMPUTE BY,则必须使用ORDER BY。
⑤ COMPUTE BY后出现的列必须与ORDER BY后出现的列相同,或者是它的子集。它必须具有相同的从左到右顺序并且以相同的表达式开头,不能跳过任何表达式。

(5)嵌套查询
如果先通过一个查询查出一个结果集,再在这个结果集中进行查询的话就是嵌套查询。嵌套查询是用一条SELECT语句作为另一条SELECT语句的一部分。外层的SELECT语句叫外部查询,内层的SELECT语句叫内部查询(或子查询)。
嵌套查询的执行流程是,首先执行内部查询,它查询出来的数据并不被显示出来,而是传递给外层SELECT语句,作为该SELECT语句的查询条件使用。子查询可以多层嵌套。
1.使用IN或NOT IN关键字
单值子查询是指子查询只返回一行数据。多值子查询是指子查询返回的不是一行而是一组行数据。前者可以用“=”、IN 或NOT IN和其外部查询相联系,后者则必须使用IN 或NOT IN和其外部查询相联系(IN表示属于的关系,即是否在所选数据集合之中。NOT IN则表示不属于集合或不是集合的成员)
例子:查询出“g99402”班所有男生的学号、课程号及相应的成绩

USE   jwgl
GO
SELECT student_course.student_id , student_course.course_id , student_course.grade
FROM  student_course
WHERE  student_id  IN
( SELECT  student_id   FROM  studentWHERE  class_id = 'g99402'  AND  sex = 1 )

2.使用EXSISTS 或NOT EXSISTS关键字
EXISTS关键字用来确定数据是否在查询列表中存在。EXISTS表示一个子查询至少返回一行时条件成立。
和使用IN关键字不同的是,IN连接的是表中的列,而EXISTS连接的是表和表,通常不需要特别指出列名,可以直接使用 *。由于EXISTS连接的是表,所以,子查询中必须加入表与表之间的连接条件。
注意:

  • 子查询的查询条件依赖于外层父查询的某个属性值的称为相关子查询,带EXISTS 的子查询就是相关子查询
  • 相关子查询执行过程:先在外层查询中取“学生表”的第一行记录,用该记录的相关的属性值(在内层WHERE子句中给定的)处理内层查询,若外层的WHERE子句返回“TRUE”值,则这条记录放入结果表中。然后再取下一行记录;重复上述过程直到外层表的记录全部遍历一次为止。
  • EXISTS语句不关心子查询的具体内容,因此用“SELECT *”,“Exists + 子查询”用来判断该子查询是否返回记录。

例子:使用EXSISTS关键字查询出“g99403”班学生的学号、课程号及相应的成绩

USE   jwgl
GO
SELECT student_course.student_id , student_course.course_id , student_course.grade
FROM   student_course
WHERE EXISTS
( SELECT  *   FROM   studentWHERE  student_course.student_id = student.student_id  AND  student.class_id = 'g99403‘ )

3.使用嵌套子查询的几点说明:
① 首先对子查询(内部查询)求值。
② 外部查询依赖于子查询的求值结果。
③ 子查询必须被括在圆括号内。
④ 以比较操作符引导的子查询的选择列表只能包括一个表达式或列名。否则SQL Server会报错。

(6)在查询的基础上创建新表
SELECT INTO的作用是,在查询的基础上创建新表。若建临时表,必须在表前设置#(局部临时表)或# #(全局临时表)。新表的行和列是来自查询结果,临时表是创建在tempdb数据库上。
例子:创建#temp_grade的临时表,该临时表有两个列:student_id,grade,要求学生的成绩grade大于95分。然后,再从临时表#temp_grade查询数据。

USE  jwgl
GO
SELECT  student_id , grade  into  #temp_grade FROM student_course  WHERE  grade>=95
USE  tempdb
GO
SELECT  *  FROM    #temp_grade

也可以用SELECT语句创建一个永久表。永久表是创建在基表所在的数据库里。
例子:创建grade_table的永久表,该临时表有两个列:student_id,grade.要求学生的成绩grade大于95分。

USE   jwgl
GO
SELECT  student_id , grade  into grade_table   FROM   student_course WHERE   grade>95

表的创建和管理

(1)创建表
表是存储各种数据的载体,具有以下特点:

  • 在特定的数据库中表名是唯一的,在特定的表中,列名是唯一的,但不同的表可以有相同的列名。两者的唯一性都是由SQL Server强制实现的;
  • 表是由行和列组成的,行又称为记录,列被称为字段。行和列的次序是任意的;
  • 每个表最多1024列,每行最多8060字节的用户数据;
  • 数据行在表中是唯一的,行的唯一性可以通过定义主键来实现。在一个表中,不允许有两个完全相同的行存在。

语法格式如下:

CREATE TABLE table_name
(column_name data_type [null|not null][,…n])

在上述语法形式中:
table_name:为新创建的表指定的名字。
column_name:列名。
data_type :列的数据类型和宽度。
null|not null :指定该列是否允许为空。
[,…n]:允许创建多个字段。
例子:CREATE TABLE语句创建表department。该表有3个字段:系号(department_id)、系名(department_name)、系主任(department_header)

   use  jwglgo  CREATE TABLE department(department_id char(6)  NOT NULL,department_name nvarchar(20) NOT NULL,department_header nvarchar(8) NOT NULL )

(2)表结构的修改

使用ALTER TABLE语句可以为表添加或删除列,也可以修改列性质

ALTER TABLE table
{[ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ][ NULL | NOT NULL ]}]| ADD{ [ < add_column_name add_data_type > ]} [ ,...n ]| DROP COLUMN {drop_colum_name } [ ,...n ]
}

在以上语法形式中:
column_name:要修改的列名。
new_data_type :要修改列的新数据类型。
precision:是指定数据类型的精度。
scale:是指定数据类型的小数位数。
add_column_name :要添加到表中的列名。
add_data_type :要添加到表中的列的数据类型。
drop_colum_name :要从表中删除的列名
[ ,…n ]:可以有多个列。

例子:将表book的book_name字段的长度先改为32

use  jwgl
alter table  book
alter column  book_name varchar(32) not null

例子:将表book增加两个字段:book_copy_no,publish_date

use jwgl
go
add  book_copy_no varchar(10),publish_date  smalldatetime

(3)表的重命名与删除
注意:对于要删除的表必须确认是没用的表,而重命名一个表将会导致引用该表的存储过程、视图、触发器无效。所以,对于表的重命名与删除要慎重。
重命名:

sp_rename  table_old_name ,  table_new_name

删除表使用DROP TABLE命令

DROP TABLE   table_name

(4)向表中添加,更新,删除数据
(4.1)插入数据
向表中插入数据使用的是INSERT INTO语句
INSERT [INTO ]
{table_name |view_name} [(column_list)]
{ VALUES (values_list) |select_statement }

table_name |view_name :要插入数据的表名及视图名。
column_list :要插入数据的字段名。
values_list :与column_list 相对应的字段的值。 select_statement :通过查询向表插入数据的条件语句
在使用INSERT INTO语句向表插入数据时要注意以下几点:
① 当向表中所有列都插入新数据时,可以省略列名表,但是必须保证VALUES后的各数据项位置同表定义时顺序一致
② 要保证表定义时的非空列必须有值,即使这个非空列没有出现在插入语句中,也必须如此。
③ 字符型和日期型值插入时要加入单引号。
④ 没有列出的数据类型应该具有以下属性之一:IDENTITY属性、Timestamp数据 类型、具有null属性或者有一个缺省值。对于具有IDENTITY属性的列,其值由系统给出,用户不必往表中插入数据。
例子:向teacher表中插入一行数据,具体数据如下:
教师标识:dep04_006,姓名:李微,性别:女(0),出生年月:5-31-1965, 系号:dep_04,职位:讲师,联系电话:8802976,家庭住址:南京古平岗35号,邮政编码:210008

USE  jwgl
GO
INSERT INTO  teacher (teacher_id,teacher_name,sex,birth,department_id,profession,telephone,home_addr,postalcode)
VALUES
('dep04_006','李微',0,'5-31-1965','dep_04','讲师','8802976','南京古平岗35号','210008')
  • 在用INSERT INTO插入数据时,也可以省略字段名列表,但使用时一定要小心,因为在INSERT INTO语句中省略了字段名列表,所以,VALUES后数值的顺序一定要与表中定义列的顺序相同,否则,要么插入数据不成功,要么插入数据成功但结果不正确。一行数据所造成的问题很难发现,但危害很大。因此,建议插入数据时要写上字段名表。
  • 使用INSERT语句一次只能插入一行数据,而在INSERT语句中加入查询子句SELECT,通过SELECT子句从其他表或视图中选出数据,再将其插入到指定的表中,可以一次插入多行数据。
  • 使用SELECT子句插入数据时,table_name和table_list可以是相同的表,也可以是不同的表
  • 要插入的数据表table_name必须已经存在,也就是说,不能向不存在的表中插入数据
  • 要插入数据的表的列和SELECT子句中列的数量和顺序必须相同,列的数据类型也要相同,如果不相同,SQL Server也要能自动转化。

(4.2)更新数据
SQL Server中,对数据的修改是通过UPDTAE语句实现的。使用UPDATE语句可以一次修改一行数据,也可以一次修改多行数据,甚至整张表的数据。无论哪种修改,都要求修改前后的数据类型和数据个数相同。

UPDATE { table_name | view_name}
SET { column_list |variable_list }=expression
[WHERE search_conditions ]

在这个语法形式中:
table_name | view_name :要更新数据的表名或视图名
column_list |variable_list :要更新数据的字段列表或变量列表
expression :更新后新的数据值
WHERE search_conditions 更新数据所应满足的条件
注意:UPDATE只能在一张表上操作,并且**更新后的数据必须满足表原先的约束条件,**否则,数据更新将不会成功
例子:将示例5插入的一行数据中李微的职位由“讲师”改为“副教授”

USE  jwgl
GO
UPDATE  teacherSET  profession=‘副教授’
WHERE  teacher_id=‘dep04_006’

(4.3)删除数据

DELETE [FROM] table_name
WHERE search_conditions

若不加WHERE子句,将会删除表中的所有的记录
例子:将示例5插入的数据从teacher表中删除掉

USE   jwgl
GO
DELETE FROM   teacher
WHERE  teacher_id = ‘dep04_006’

补充:
CASE 表达式
(1)简单型CASE语句
简单型CASE语句的语法形式:

CASE expression
{WHEN expression THEN result} [,...n]
[ELSE result ]
END

• expression :可以是常量、列名、函数、算术运算符等。
简单型CASE语句是根据表达式expression 的值与WHEN后面的表达式逐一比较,如果两者相等,返回THEN后面的表达式result的值,否则返回ELSE后面表达式result的值。

例子:将PUBS库中表titles里的 pub_id号为“0736”和“1839”记录显示出来,其余的用“OTHER”显示

use pubs
go
select title.pub_id=case pub_idwhen ‘0736’ then '0736'when ‘1389’ then '1389'else 'OTHER'end
from   titles

(2)搜索型CASE语句

CASE
WHEN Boolean_expression THEN result} [,...n]
[ELSE result ]
END

其中:
• Boolean_expression :CASE语句要判断的逻辑表达式。
搜索型CASE语句是判断逻辑表达式,若Boolean_expression为真,则返回THEN后面表达式result的值,然后判断下一个逻辑表达式,如果所有逻辑表达式都为假,则返回ELSE后面表达式result的值。

例子:将PUBS库中表titles里的price大于10的记录对应的price_level显示“HIGH”,price小于10的记录对应的price_level显示“LOW”,其余的显示“EQ10”

use pubs
go
select title.price level=case when price > 10 then 'HIGH'when price < 10 then 'LOW'else 'EQ10'end
from titles

Transact-SQL基础语言(数据检索)相关推荐

  1. sql基础――mssql2005-亲爱精诚、养天地正气,法古今完人-iteye技术网站

    sql基础――mssql2005-亲爱精诚.养天地正气,法古今完人-iteye技术网站 2011年08月01日 字符函数: CHARINDEX LEN返回字符串的长度 LOWER将字符串转换为小写 U ...

  2. sql基础教程和mysql基础教程_书评「SQL基础教程(第2版)」| 你应该知道的基础知识点梳理·上...

    写在前面关于这本书:SQL的基础教程,可以使你在SQL的学习中轻松实现从0到1的过程,循序渐进地掌握SQL的基础知识和技巧.对于零基础来说非常友好,看完能够迅速上手SQL. 关于本文:一篇对这本书的知 ...

  3. sql基础教程mysql_SQL基础教程(第2版)笔记整理

    花了一段时间把SQL基础教程(第2版)看完,并把笔记整理好. 数据定义语言(Data Define Language) 数据操作语言(Data Manipulation Language) 数据控制语 ...

  4. Oracle-PL/SQL基础

    概述 PL/SQL简介 pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量和常量,允许使用条件语 ...

  5. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

  6. Oracle学习(一)SQL基础

    一.认识SQL SQL是什么? SQL,结构化查询语言,全称是 Structured Query Language. SQL 是一门 ANSI(American National Standards ...

  7. Task02:SQL基础查询与排序-天池龙珠计划SQL训练营

    Task02:SQL基础查询与排序 一.SELECT语句基础 1.1 从表中选取数据 SELECT语句 1.2从表中选取符合条件的数据 WHERE语句 1.3 相关法则 星号(*)代表全部列的意思. ...

  8. mysql指令按顺序排列_《深入浅出MySQL》读书笔记(一)sql基础,常用的操作语句。...

    之前对于数据库一直都是用过的程序,没有系统学过,在面试时吃过不少亏,说不出个所以然,我还是好好康康比较靠谱,秋招都快过了,我好慌啊淦. 第一章.MySQL的安装与配置. 启动服务:打开到mysql对应 ...

  9. Oracle SQL 基础要点

    Oracle SQL 基础要点 本文是学习<程序员的SQL金典>时的读书摘要,记录一些自己不太熟悉或者很重要的知识点.方便后期对照复习. 1.各种主流数据库的优缺点比较 - DB2由IBM ...

最新文章

  1. 社区O2O的发展与未来
  2. CES 2021线上大会前瞻、Roblox 估值近300亿美元、联想将推出企业级 AR 眼镜等|Decode the Week...
  3. Mac连接远程Linux管理文件(samba)
  4. python解压打开文件过多_在python中使用zipfile压缩文件时层级很多,有很多层目录...
  5. 全国计算机考试真考题库4,全国计算机等级考试无纸化真考题库试卷二级C--(4)资料.docx...
  6. 各个历史版本 cuda toolkit 下载链接
  7. 第一届“百度杯”信息安全攻防总决赛 find the flag WP
  8. 【BIM入门实战】渲染器Vray for 3d max 2018图文安装教程
  9. idea 项目启动报错:Missing artifact com.oracle:ojdbc7:jar:12.1.0.1的处理方式
  10. 自定义填充图案插件 cad_CAD填充技巧:填充图案
  11. js Unicode编码
  12. NAT64实例(ENSP实现)
  13. Bluetooth RFCOMM介绍
  14. 163邮箱苹果设置不成功_iphone手机,苹果手机如何登陆网易163邮箱
  15. html压缩工具html-minifier -- nodejs常用模块(4)
  16. harmonyOS2,harmonyos2.0
  17. android studio 屏幕翻转
  18. 被误解的tinyint(1)
  19. TemporalType
  20. 静态页面如何引入head.html和foot.html

热门文章

  1. 常用C++开发环境介绍
  2. 我在哪?从何处来,又到哪里去?
  3. 超百万观众同场看直播流畅不卡顿,快手如何做到的?|首次披露
  4. 基于android的有声听书系统
  5. python一种基于电脑mac地址的加密算法
  6. JAVA整合Milvus矢量数据库及数据
  7. JVM 垃圾收集器 学习笔记(《深入理解java虚拟机》之六 垃圾收集)
  8. 坐标转换 四参数/七参数/正形变换 ∈ C# 编程笔记
  9. Creator 拓展展Button组件 增加点击音效 默缩放。点击间隔
  10. PowerShell:如何用PowerShell创建WinForm窗体?-在PowerShell中使用GUI界面