SELECT column1,column2,column3 FROM table_name;
SELECT * FROM table_name;
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
SELECT DISTINCT column1 FROM table_name
SELECT column1 FROM table_name WHERE column1 = value1
操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
使用 AND 来显示所有姓为 “Carter” 并且名为 “Thomas” 的人:
SELECT * FROM Persons WHERE FirstName = 'Carter' AND LastName = 'Thomas'
使用 OR 来显示所有姓为 “Carter” 或者名为 “Thomas” 的人:
SELECT * FROM Persons WHERE FirstName = 'Carter' OR LastName = 'Thomas'
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照[升序]对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
以字母顺序显示公司名称:
SELECT componyName FROM componyInfo ORDER BY componyName
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT componyName, OrderNumber FROM componyInfo ORDER BY componyName, OrderNumber
以逆字母顺序显示公司名称:
SELECT componyName FROM componyInfo ORDER BY componyName DESC
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT componyName, OrderNumber FROM componyInfo ORDER BY componyName DESC, OrderNumber ASC;
INSERT INTO 语句用于向表格中插入新的行。
INSERT INTO column1,column2 VALUES('value1', value2)
插入新的行
“Persons” 表:
LastName 1 | FirstName 2 | Address |
---|---|---|
Carter | Thomas | Changan Street |
INSERT INTO Persons VALUES('Carter', 'Thomas', 'Changan Street', 'Beijing')
在指定的列中插入数据
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
UPDATE table_name SET column1 = value1 WHERE column2 = value2
Person:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Champs-Elysees |
更新某一行中的一个列
我们为 lastname 是 “Wilson” 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE lastname = 'Wilson'
更新某一行中的若干列
我们会修改地址(address),并添加城市名称(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
DELETE FROM table_name WHERE column1 = value1
Person:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
“Fred Wilson” 会被删除:
DELETE FROM Person WHERE lastname = 'Wilson'
删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name
DELETE * FROM table_name