SQL学习笔记1

简介

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'


你可能感兴趣的:(sql,数据库,笔记)