简介
SQL指结构化查询语言
要创建发布数据库中数据的网站,您需要以下要素:
RDBMS数据库程序(比如 MS Access, SQL Server, MySQL)
服务器端脚本语言(比如PHP 或 ASP)
SQL
HTML/ CSS
RDBMS指的是关系型数据库管理系统
语法
重要事项:
一定要记住,SQL 对大小写不敏感
SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号
DML和DDL
数据操作语言(DML) 和 数据定义语言 (DDL)
SELECT语句
SELECT列名称 FROM 表名称
SELECT DISTINCT 语句
SELECTDISTINCT 列名称 FROM 表名称
WHERE子句
SELECT列名称 FROM 表名称 WHERE 列 运算符 值
AND&OR运算符
SELECT* FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
ANDLastName='Carter'
ORDER BY 子句
用于根据指定的列对结果集进行排序,默认按照升序对记录进行排序,按照降序对记录进行排序,
DESC降序 ASC 升序
SELECTCompany, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
查询Company,OrderNumber,以Company降序排列,如果如果有相同的Company项,已OrderNumber升序排列
INSERT INTO 语句
INSERTINTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERTINTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
UPDATE 语句
UPDATE表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
更新某一行中的一个列:
UPDATEPerson SET FirstName = 'Fred' WHERE LastName = 'Wilson'
更新某一行中的若干列:
UPDATEPerson SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERELastName = 'Wilson'
DELETE 语句
用于删除表中的行
删除某行:
DELETEFROM Person WHERE LastName = 'Wilson'
删除所有行:
DELETEFORM Person
TOP 子句
用于规定要返回的记录的数目
SQLServer 语法:
SELECT TOP number|percentcolumn_name(s)
FROMtable_name
MySQL语法 :
SELECTcolumn_name(s)
FROMtable_name
LIMIT number
Oracle语法 :
SELECTcolumn_name(s)
FROMtable_name
WHERE ROWNUM <= number
TOP实例 :
SELECTTOP 2 * FROM Persons
TOPPERCENT 实例 :
SELECTTOP 50 PERCENT * FROM Persons
LIKE 操作符
语法:
SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_name LIKE pattern
"%"可用于定义通配符
通配符
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist],[!charlist] 不在字符列中的任何单一字符
[charlist] 例子:
以"A" 或 "L" 或 "N" 开头人
SELECT* FROM Persons
WHERECity LIKE '[ALN]%'
IN 操作符
在WHERE 子句中规定多个值
语法:
SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_name IN (value1,value2,...)
例子:
SELECT* FROM Persons
WHERELastName IN ('Adams','Carter')
BETWEEN 操作符
选取介于两个值之间的数据范围,显示范围之外的人,请使用NOT 操作符
语法:
SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_name
BETWEENvalue1 AND value2
重要事项:不同的数据库对 BETWEEN...AND操作符的处理方式是有差异的。
某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包
括 "Adams" 和 "Carter";某些数据库会列出介于 "Adams" 和
"Carter" 之间并包括 "Adams" 和 "Carter"的人;而另一些数据
库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams",
但不包括 "Carter"
Alias
表的SQL Alias 语法:
SELECTcolumn_name(s)
FROMtable_name
ASalias_name
列的SQL Alias 语法:
SELECTcolumn_name AS alias_name
FROMtable_name
例子:
SELECTpo.OrderID, p.LastName, p.FirstName
FROMPersons AS p, Product_Orders AS po
WHEREp.LastName='Adams' AND p.FirstName='John'