
SQL 教程
文章平均质量分 69
一秒变桌子
有些代码也许不应该被忘记。
展开
-
SQL中JOIN
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join 和 Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在...转载 2018-05-10 08:43:54 · 223 阅读 · 0 评论 -
SQL 函数(function)
SQL 拥有很多可用于计数和计算的内建函数。函数的语法内建 SQL 函数的语法是:SELECT function(列) FROM 表函数的类型在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:Aggregate 函数Scalar 函数合计函数(Aggregate functions)Aggregate 函数的操作面向一系列的值,并返回一个单一的值。注释:如果在 SELECT 语句...转载 2018-05-17 11:42:17 · 1742 阅读 · 0 评论 -
SQL 服务器 - RDBMS
现代的 SQL 服务器构建在 RDBMS 之上。DBMS - 数据库管理系统(Database Management System)数据库管理系统是一种可以访问数据库中数据的计算机程序。DBMS 使我们有能力在数据库中提取、修改或者存贮信息。不同的 DBMS 提供不同的函数供查询、提交以及修改数据。RDBMS - 关系数据库管理系统(Relational Database Management...转载 2018-05-17 11:41:09 · 175 阅读 · 0 评论 -
SQL中数据类型
Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。Microsoft Access 数据类型数据类型描述存储Text用于文本或文本与数字的组合。最多 255 个字符。 MemoMemo 用于更大数量的文本。最多存储 65,536 个字符。注释:无法对 memo 字段进行排序。不过它们是可搜索的。 Byte允许 0 到 255 的数字。1 字节In...转载 2018-05-17 11:40:20 · 349 阅读 · 0 评论 -
SQL中Date 函数
SQL 日期当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。MySQL Date 函数下面的表格列出了 MySQL 中最重要的内建日期函数:函数描述NOW()返回当前的日期和时间CURDATE()返回当...转载 2018-05-17 11:39:25 · 8690 阅读 · 0 评论 -
SQL中CREATE INDEX 语句
CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。索引您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。SQL CREATE IN...转载 2018-05-17 11:38:10 · 892 阅读 · 0 评论 -
SQL中约束
SQL PRIMARY KEY 约束PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。SQL PRIMARY KEY Constraint on CREATE TABLE下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束:MySQL:CR...转载 2018-05-17 11:33:15 · 192 阅读 · 0 评论 -
SQL中VIEW(视图)
视图是可视化的表。本章讲解如何创建、更新和删除视图。SQL CREATE VIEW 语句什么是视图?在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。注释:数据库的设计和结构不...转载 2018-05-10 09:15:47 · 1111 阅读 · 0 评论 -
SQL中AUTO INCREMENT 字段
Auto-increment 会在新记录插入表中时生成一个唯一的数字。AUTO INCREMENT 字段我们通常希望在每次插入新记录时,自动地创建主键字段的值。我们可以在表中创建一个 auto-increment 字段。用于 MySQL 的语法下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:CREATE TABLE Persons...转载 2018-05-10 09:14:53 · 410 阅读 · 0 评论 -
SQL AVG 函数、COUNT() 函数
SQL AVG 函数定义和用法AVG 函数返回数值列的平均值。NULL 值不包括在计算中。SQL AVG() 语法SELECT AVG(column_name) FROM table_nameSQL AVG() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush22008/11/231600Carte...转载 2018-05-17 13:49:25 · 5084 阅读 · 0 评论 -
SQL FIRST() 函数、LAST() 函数
FIRST() 函数FIRST() 函数返回指定的字段中第一个记录的值。提示:可使用 ORDER BY 语句对记录进行排序。SQL FIRST() 语法SELECT FIRST(column_name) FROM table_nameSQL FIRST() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bus...转载 2018-05-17 15:07:15 · 3835 阅读 · 0 评论 -
SQL MAX() 函数、MIN() 函数、SUM()函数
MAX() 函数MAX 函数返回一列中的最大值。NULL 值不包括在计算中。SQL MAX() 语法SELECT MAX(column_name) FROM table_name注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。SQL MAX() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/...转载 2018-05-17 15:08:34 · 7414 阅读 · 0 评论 -
SQL 快速参考
SQL 语句语句语法AND / ORSELECT column_name(s)FROM table_nameWHERE conditionAND|OR conditionALTER TABLE (add column)ALTER TABLE table_name ADD column_name datatypeALTER TABLE (drop column)ALTER TABLE table_n...转载 2018-05-18 10:37:08 · 164 阅读 · 0 评论 -
SQL中FORMAT() 函数
FORMAT() 函数FORMAT 函数用于对字段的显示进行格式化。SQL FORMAT() 语法SELECT FORMAT(column_name,format) FROM table_name参数描述column_name必需。要格式化的字段。format必需。规定格式。SQL FORMAT() 实例我们拥有下面这个 "Products" 表:Prod_IdProductNameUnitUni...转载 2018-05-18 10:35:10 · 10362 阅读 · 0 评论 -
SQL中NOW() 函数
NOW() 函数NOW 函数返回当前的日期和时间。提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间。SQL NOW() 语法SELECT NOW() FROM table_nameSQL NOW() 实例我们拥有下面这个 "Products" 表:Prod_IdProductNameUnitUnitPrice1gold1000 g32.352s...转载 2018-05-18 10:34:31 · 8199 阅读 · 0 评论 -
SQL MID() 函数、LEN() 函数、ROUND() 函数
MID() 函数MID 函数用于从文本字段中提取字符。SQL MID() 语法SELECT MID(column_name,start[,length]) FROM table_name参数描述column_name必需。要提取字符的字段。start必需。规定开始位置(起始值是 1)。length可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。SQL MID() 实例我们拥有下面...转载 2018-05-18 10:32:39 · 2172 阅读 · 0 评论 -
SQL UCASE() 函数、 LCASE() 函数
UCASE() 函数UCASE 函数把字段的值转换为大写。SQL UCASE() 语法SELECT UCASE(column_name) FROM table_nameSQL UCASE() 实例我们拥有下面这个 "Persons" 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth Avenu...转载 2018-05-18 09:57:50 · 682 阅读 · 0 评论 -
SQL中HAVING 子句
HAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。SQL HAVING 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggre...转载 2018-05-18 09:56:03 · 288 阅读 · 0 评论 -
SQL中NULL 值
NULL 值是遗漏的未知数据。默认地,表的列可以存放 NULL 值。SQL NULL 值如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。注释:无法比较 NULL 和 0;它们是不等价的。SQL 的 NULL 值处理请看下面的 "Perso...转载 2018-05-11 10:40:40 · 215 阅读 · 0 评论 -
SQL中GROUP BY 语句
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。GROUP BY 语句GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。SQL GROUP BY 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGRO...转载 2018-05-17 16:46:09 · 272 阅读 · 0 评论 -
SQL中ALTER TABLE 语句
ALTER TABLE 语句ALTER TABLE 语句用于在已有的表中添加、修改或删除列。SQL ALTER TABLE 语法如需在表中添加列,请使用下列语法:ALTER TABLE table_nameADD column_name datatype要删除表中的列,请使用下列语法:ALTER TABLE table_name DROP COLUMN column_name注释:某些...转载 2018-05-10 09:14:12 · 1866 阅读 · 0 评论 -
SQL中DROP语句
通过使用 DROP 语句,可以撤销引、表和数据库。SQL DROP INDEX 语句我们可以使用 DROP INDEX 命令删除表格中的索引。用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:DROP INDEX index_name ON table_name用于 MS SQL Server 的语法:DROP INDEX table_name.ind...转载 2018-05-10 09:13:16 · 28277 阅读 · 0 评论 -
SQL中CREATE语句
CREATE DATABASE 语句CREATE DATABASE 用于创建数据库。SQL CREATE DATABASE 语法CREATE DATABASE database_nameSQL CREATE DATABASE 实例现在我们希望创建一个名为 "my_db" 的数据库。我们使用下面的 CREATE DATABASE 语句:CREATE DATABASE my_db可以通过 CR...转载 2018-05-10 09:10:51 · 11758 阅读 · 0 评论 -
SQL中DISTINCT 关键词
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。语法:SELECT DISTINCT 列名称 FROM 表名称使用 DISTINCT 关键词如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:SELECT Company FROM Orders"Orders"表:Co...转载 2018-05-08 17:39:34 · 155 阅读 · 0 评论 -
SQL中SELECT 和 SELECT * 语句
SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。SQL SELECT 语法SELECT 列名称 FROM 表名称以及:SELECT * FROM 表名称注释:SQL 语句对大小写不敏感。SELECT 等效于 select。SQL SELECT 实例如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),...转载 2018-05-08 17:37:21 · 5601 阅读 · 0 评论 -
SQL中数据操作语言 (DML) 和数据定义语言 (DDL)
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据INSERT INTO - 向数据库表中插...转载 2018-05-08 17:34:39 · 9745 阅读 · 0 评论 -
SQL中UPDATE 语句
Update 语句Update 语句用于修改表中的数据。语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值Person:LastNameFirstNameAddressCityGatesBillXuanwumen 10BeijingWilson Champs-Elysees 更新某一行中的一个列我们为 lastname 是 "Wilson" 的人添加 first...转载 2018-05-09 09:38:25 · 4607 阅读 · 0 评论 -
SQL中TOP 子句
TOP 子句TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。注释:并非所有的数据库系统都支持 TOP 子句。SQL Server 的语法:SELECT TOP number|percent column_name(s)FROM table_nameMySQL 和 Oracle 中的 SQL SELECT TOP 是等价的MySQL 语法SEL...转载 2018-05-09 09:43:21 · 1228 阅读 · 0 评论 -
SQL中通配符
SQL 通配符在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符:通配符描述%替代一个或多个字符_仅替代一个字符[charlist]字符列中的任何单一字符[^charlist]或者[!charlist]不在字符列中的任何单一字符原始的表 (用在例子中的):Persons 表:IdLastNameFirs...转载 2018-05-09 10:11:42 · 207 阅读 · 0 评论 -
SQL中IN 操作符
IN 操作符IN 操作符允许我们在 WHERE 子句中规定多个值。SQL IN 语法SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)原始的表 (在实例中使用:)Persons 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetL...转载 2018-05-09 10:32:35 · 299 阅读 · 0 评论 -
SQL中BETWEEN 操作符
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。BETWEEN 操作符操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。SQL BETWEEN 语法SELECT column_name(s)FROM table_nameWHERE column_nameBETWEEN value1 AND val...转载 2018-05-09 10:33:54 · 2442 阅读 · 0 评论 -
SQL中WHERE 子句
WHERE 子句用于规定选择的标准。WHERE 子句如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值下面的运算符可在 WHERE 子句中使用:操作符描述=等于<>不等于>大于<小于>=大于等于<=小于等于BETWEEN在某个范围内LIKE搜索某种模式注释:在某...转载 2018-05-08 17:41:08 · 525 阅读 · 0 评论 -
SQL中AND和OR 运算符
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。AND 和 OR 运算符AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。原始的表 (用在例子中的):LastNameFirstNameAddressCityAdamsJoh...转载 2018-05-08 17:49:57 · 715 阅读 · 0 评论 -
SQL中ORDER BY 子句
ORDER BY 语句用于对结果集进行排序。ORDER BY 语句ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。原始的表 (用在例子中的):Orders 表:CompanyOrderNumberIBM3532W3School2356Apple4698W3School6953...转载 2018-05-08 18:33:00 · 697 阅读 · 0 评论 -
SQL中约束 (Constraints)
SQL 约束约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。我们将主要探讨以下几种约束:NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECKDEFAULTSQL NOT NULL 约束NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束...转载 2018-05-10 08:57:53 · 2369 阅读 · 0 评论 -
SQL中SELECT INTO 语句
SQL SELECT INTO 语句可用于创建表的备份复件。SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。SQL SELECT INTO 语法您可以把所有的列插入新表:SELECT *INTO new_table_name [IN externaldatabase...转载 2018-05-10 08:46:43 · 1504 阅读 · 0 评论 -
SQL中UNION 和 UNION ALL 操作符
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s)...转载 2018-05-10 08:45:32 · 209 阅读 · 0 评论 -
SQL中LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。LIKE 操作符LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SQL LIKE 操作符语法SELECT column_name(s)FROM table_nameWHERE column_name LIKE pattern原始的表 (用在例子中的):Persons 表:IdLastNameFirstNameAdd...转载 2018-05-09 10:03:01 · 201 阅读 · 0 评论 -
SQL中DELETE 语句
DELETE 语句DELETE 语句用于删除表中的行。语法DELETE FROM 表名称 WHERE 列名称 = 值Person:LastNameFirstNameAddressCityGatesBillXuanwumen 10BeijingWilsonFredZhongshan 23Nanjing删除某行"Fred Wilson" 会被删除:DELETE FROM Person WHERE ...转载 2018-05-09 09:39:36 · 21744 阅读 · 0 评论 -
SQL中INSERT INTO 语句
INSERT INTO 语句INSERT INTO 语句用于向表格中插入新的行。语法INSERT INTO 表名称 VALUES (值1, 值2,....)我们也可以指定所要插入数据的列:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)插入新的行"Persons" 表:LastNameFirstNameAddressCityCar...转载 2018-05-09 09:36:56 · 1844 阅读 · 0 评论