SQL

上一篇 / 下一篇  2012-08-31 09:21:24 / 个人分类:数据库

1、SQL 对大小写不敏感!
2、SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT- 从数据库表中获取数据
  • UPDATE- 更新数据库表中的数据
  • DELETE- 从数据库表中删除数据
  • INSERT INTO- 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

  • CREATE DATABASE- 创建新数据库
  • ALTER DATABASE- 修改数据库
  • CREATE TABLE- 创建新表
  • ALTER TABLE- 变更(改变)数据库表
  • DROP TABLE- 删除表
  • CREATE INDEX- 创建索引(搜索键)
  • DROP INDEX- 删除索引

3、SQL SELECT DISTINCT 语句

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称
4、结合 AND 和 OR 运算符

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

SELECT * FROM Persons WHERE(FirstName='Thomas'ORFirstName='William')ANDLastName='Carter'
5、ORDER BY 语句用于对结果集进行排序。

ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

举例:

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

SELECT Company, OrderNumber FROM OrdersORDER BY Company DESC, OrderNumber ASC

 

6、INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

 

插入新的行

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

在指定的列中插入数据

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

 

7、Update 语句

Update 语句用于修改表中的数据。

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

更新某一行中的一个列

我们为 lastname 是 "Wilson" 的人添加 firstname:

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

更新某一行中的若干列

我们会修改地址(address),并添加城市名称(city):

UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
8、DELETE 语句

DELETE 语句用于删除表中的行。

语法

DELETE FROM 表名称 WHERE 列名称 = 值

删除某行

"Fred Wilson" 会被删除:

DELETE FROM Person WHERE LastName = 'Wilson'

删除所有行

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

DELETE FROM table_name

或者:

DELETE * FROM table_name
9、TOP 子句

TOP 子句用于规定要返回的记录的数目。

对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

注释:并非所有的数据库系统都支持 TOP 子句

SQL Server 的语法:

SELECT TOP number|percent column_name(s)
FROM table_name

MySQLOracle 中的 SQL SELECT TOP 是等价的

MySQL 语法

SELECT column_name(s)
FROM table_name
LIMIT number

例子

SELECT *
FROM Persons
LIMIT 5

Oracle 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number

例子

SELECT *
FROM Persons
WHERE ROWNUM <= 5

SQL TOP 实例

现在,我们希望从上面的 "Persons" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

SELECTTOP 2* FROM Persons

SQL TOP PERCENT 实例

现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

SELECTTOP 50 PERCENT* FROM Persons
10、LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '%lon%'

通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含"lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'

TAG:

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 4531
  • 日志数: 13
  • 建立时间: 2012-05-20
  • 更新时间: 2013-09-07

RSS订阅

Open Toolbar