sql 学习笔记 文档

以下内容来自 3c   school

1:Sql 分为两个部分: 6

2:查询 7

3:插入: 9

4:数据库更新 UPDATE 9

5:删除 DELETE 10

6:Sql TOP 子句: 10

7: SQL LIKE 操作符 11

8:SQL 通配符 13

² 使用 % 通配符 13

    ² 使用 _ 通配符 14

    例子 1 14

    例子 2 14

    ² 使用 [charlist] 通配符 15

    例子 1 15

    例子 2 15

9:IN 操作符 15

10: BETWEEN 操作符 16

11:Alias (别名) 17

    l Alias 实例: 使用表名称别名 17

    l Alias 实例: 使用一个列名别名 18

12: JOIN 18

    Join 和 Key 18

    l 引用两个表 19

    ² 不同的 SQL JOIN 20

13:SQL INNER JOIN 关键字 20

INNER JOIN 关键字语法 20

    内连接(INNER JOIN)实例 21

14:SQL LEFT JOIN 关键字 21

LEFT JOIN 关键字语法 21

    l 左连接(LEFT JOIN)实例 22

15:SQL RIGHT JOIN 关键字 22

RIGHT JOIN 关键字语法 22

    l 右连接(RIGHT JOIN)实例 22

16:SQL FULL JOIN 关键字 23

FULL JOIN 关键字语法 23

17:SQL UNION 和 UNION ALL 操作符 24

SQL UNION 语法 24

SQL UNION ALL 语法 24

l 实例 25

    l 使用 UNION ALL 命令 25

实例: 25

18:SQL SELECT INTO 语句 26

SQL SELECT INTO 语法 26

    l SQL SELECT INTO 实例 - 制作备份复件 26

    l SQL SELECT INTO 实例 - 带有 WHERE 子句 27

    l SQL SELECT INTO 实例 - 被连接的表 27

19:SQL CREATE DATABASE 语句 27

SQL CREATE DATABASE 语法 27

20:SQL CREATE DATABASE 实例 27

21:CREATE TABLE 语句 28

SQL CREATE TABLE 语法 28

    SQL CREATE TABLE 实例 29

22:SQL 约束 29

    SQL NOT NULL 约束 29

    l SQL UNIQUE 约束 30

    l SQL UNIQUE Constraint on CREATE TABLE 30

MySQL: 30

SQL Server / Oracle / MS Access: 30

MySQL / SQL Server / Oracle / MS Access: 31

    SQL UNIQUE Constraint on ALTER TABLE 31

MySQL / SQL Server / Oracle / MS Access: 31

MySQL / SQL Server / Oracle / MS Access: 31

    撤销 UNIQUE 约束 31

MySQL: 32

SQL Server / Oracle / MS Access: 32

    l SQL PRIMARY KEY 约束 32

    SQL PRIMARY KEY Constraint on CREATE TABLE 32

MySQL: 32

SQL Server / Oracle / MS Access: 32

MySQL / SQL Server / Oracle / MS Access: 33

    SQL PRIMARY KEY Constraint on ALTER TABLE 33

MySQL / SQL Server / Oracle / MS Access: 33

MySQL / SQL Server / Oracle / MS Access: 33

    撤销 PRIMARY KEY 约束 33

MySQL: 34

SQL Server / Oracle / MS Access: 34

    l SQL FOREIGN KEY 约束 34

    SQL FOREIGN KEY Constraint on CREATE TABLE 34

MySQL: 35

SQL Server / Oracle / MS Access: 35

MySQL / SQL Server / Oracle / MS Access: 35

    SQL FOREIGN KEY Constraint on ALTER TABLE 35

MySQL / SQL Server / Oracle / MS Access: 35

MySQL / SQL Server / Oracle / MS Access: 36

    撤销 FOREIGN KEY 约束 36

MySQL: 36

SQL Server / Oracle / MS Access: 36

    l SQL CHECK 约束 36

    SQL CHECK Constraint on CREATE TABLE 36

My SQL: 36

SQL Server / Oracle / MS Access: 37

MySQL / SQL Server / Oracle / MS Access: 37

    SQL CHECK Constraint on ALTER TABLE 37

MySQL / SQL Server / Oracle / MS Access: 37

MySQL / SQL Server / Oracle / MS Access: 38

   撤销 CHECK 约束 38

SQL Server / Oracle / MS Access: 38

MySQL: 38

l SQL DEFAULT 约束 38

SQL DEFAULT Constraint on CREATE TABLE 38

My SQL / SQL Server / Oracle / MS Access: 38

SQL DEFAULT Constraint on ALTER TABLE 39

MySQL: 39

SQL Server / Oracle / MS Access: 39

撤销 DEFAULT 约束 39

MySQL: 39

SQL Server / Oracle / MS Access: 39

23:SQL CREATE INDEX 语句 40

索引 40

SQL CREATE INDEX 语法 40

SQL CREATE UNIQUE INDEX 语法 40

CREATE INDEX 实例 40

24:SQL 撤销索引、表以及数据库 41

SQL DROP INDEX 语句 41

用于 Microsoft SQLJet (以及 Microsoft Access) 的语法: 41

用于 MS SQL Server 的语法: 41

用于 IBM DB2 和 Oracle 语法: 41

用于 MySQL 的语法: 41

SQL DROP TABLE 语句 41

SQL DROP DATABASE 语句 42

SQL TRUNCATE TABLE 语句 42

25:SQL ALTER TABLE 语句 42

ALTER TABLE 语句 42

SQL ALTER TABLE 语法 42

Eg: 43

我们希望在表 "Persons" 中添加一个名为 "Birthday" 的新列。 43

26:SQL AUTO INCREMENT 字段 43

AUTO INCREMENT 字段 43

l 用于 MySQL 的语法 43

l 用于 SQL Server 的语法 44

l 用于 Access 的语法 44

l 用于 Oracle 的语法 45

27:SQL VIEW(视图) 46

SQL CREATE VIEW 语句 46

什么是视图? 46

SQL CREATE VIEW 语法 46

SQL CREATE VIEW 实例 46

SQL 更新视图 47

SQL 撤销视图 48

28:SQL Date 函数 48

MySQL Date 函数 48

SQL Server Date 函数 49

SQL Date 数据类型 49

SQL 日期处理 49

29:SQL NULL 值 50

SQL NULL 值 50

SQL 的 NULL 值处理 51

SQL IS NULL 51

SQL IS NOT NULL 52

30:SQL NULL 函数 52

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 52

SQL Server / MS Access 53

Oracle 53

MySQL 53

31:SQL 数据类型 53

Microsoft Access 数据类型 53

MySQL 数据类型 54

Text 类型: 54

Number 类型: 55

Date 类型: 56

SQL Server 数据类型 56

Character 字符串: 56

Unicode 字符串: 57

Binary 类型: 57

Number 类型: 57

Date 类型: 58

其他数据类型: 58

Sql 函数 59

31:函数的语法 59

函数的类型 59

合计函数(Aggregate functions) 59

"Persons" table (在大部分的例子中使用过) 59

MS Access 中的合计函数 59

在 SQL Server 中的合计函数 60

Scalar 函数 60

MS Access 中的 Scalar 函数 61

32:SQL AVG 函数 61

定义和用法 61

SQL AVG() 语法 61

SQL AVG() 实例 61

例子 1 62

例子 2 62

33:SQL COUNT() 函数 62

SQL COUNT() 语法 63

SQL COUNT(column_name) 语法 63

SQL COUNT(*) 语法 63

SQL COUNT(DISTINCT column_name) 语法 63

SQL COUNT(column_name) 实例 63

SQL COUNT(DISTINCT column_name) 实例 64

34:SQL FIRST() 函数 64

FIRST() 函数 64

SQL FIRST() 语法 65

SQL FIRST() 实例 65

35:SQL LAST() 函数 65

LAST() 函数 65

SQL LAST() 语法 66

SQL LAST() 实例 66

36:SQL MAX() 函数 66

MAX() 函数 66

SQL MAX() 语法 67

SQL MAX() 实例 67

37:SQL MIN() 函数 67

MIN() 函数 67

SQL MIN() 语法 67

SQL MIN() 实例 68

38:SQL SUM() 函数 68

SUM() 函数 68

SQL SUM() 语法 68

SQL SUM() 实例 69

39:SQL GROUP BY 语句 69

GROUP BY 语句 69

SQL GROUP BY 语法 69

SQL GROUP BY 实例 70

GROUP BY 一个以上的列 71

40:SQL HAVING 子句 71

HAVING 子句 71

SQL HAVING 语法 71

SQL HAVING 实例 71

41:SQL UCASE() 函数 72

UCASE() 函数 72

SQL UCASE() 语法 73

SQL UCASE() 实例 73

42:SQL LCASE() 函数 73

LCASE() 函数 73

SQL LCASE() 语法 73

SQL LCASE() 实例 74

43:SQL MID() 函数 74

MID() 函数 74

SQL MID() 语法 74

SQL MID() 实例 75

44:SQL LEN() 函数 75

LEN() 函数 75

SQL LEN() 语法 75

SQL LEN() 实例 75

45:SQL ROUND() 函数 76

ROUND() 函数 76

SQL ROUND() 语法 76

SQL ROUND() 实例 76

45:SQL NOW() 函数 77

NOW() 函数 77

SQL NOW() 语法 77

SQL NOW() 实例 77

46:SQL FORMAT() 函数 78

FORMAT() 函数 78

SQL FORMAT() 语法 78

SQL FORMAT() 实例 78

47:SQL 快速参考 79

SQL 语句 79

 

 

1:Sql 分为两个部分:

l  数据操作语言 DML:

SELECT  查询

UPDATE  更新

 DELETE  删除

 INSERT INTO  插入

l  数据定义语言 DDL

CREATE DATABASE  创建数据库

ALTER DATABASE   修改数据库结构

CREATE TABLE      创建表

DROP TABLE        删除表

CREATE INDEX      创建索引

DROP INDEX         删除索引

2:查询

v 查询指定的列信息:

SELECT 列名,列名...  FROM 表名

v 查询表中所有信息:

SELECT * FROM 表名

v 如果不希望查询出的某列中包含重复的值则使用 DISTINCT 关键字

SELECTL DISTINCT列名 FROM 表名

v 指定条件查询 使用关键字 WHERE 

SELECT 列名 FROM 表名 WHERE 列 运算符 值

 

 

Eg:

SELECT * FROM Persons WHERE City='Beijing'

SELECT * FROM Persons WHERE Year>1965

 

(注意 文本值 使用单引号, 数值不用)

 

v AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

 

Eg:

使用AND:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

使用OR:

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

组合使用 AND OR:

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')

AND LastName='Carter'

 

v 使用ORDER BY 对结果集进行排序

ORDER BY 默认对结果集进行升序排序,如果要是采用降序:使用DESC 关键字

 

① SELECT Company, OrderNumber FROM Orders ORDER BY Company

        以字母顺序显示公司名称:

 

 

② SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):

 

 

③ SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

 

以逆字母顺序显示公司名称:

 

 

④ SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

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

 

 

备注:

升序 : ascending  order

降序:  descending order

3:插入:

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

语法: INSERT INTO 表名 VALUES (值1,值2.。。。)

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

 

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

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

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

4:数据库更新 UPDATE

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

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

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

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

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

UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'

 

5:删除 DELETE 

DELETE 语句用于删除表中的行

l DELETE FROM 表名 WHERE 列名

DELETE FROM Person WHERE LastName = 'Wilson' 

l 删除所有行,表的结构、属性和索引 都是完整的

① DELETE FROM table_name

② DELETE * FROM table_name

 

6:Sql TOP 子句:

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

SELETE TOP number| percent colum_name(s) FROM table

 

 

 

 

Eg:

1) SELECT TOP 2 * FROM Persons

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

2) SELECT TOP 50 PERCENT * FROM Persons

 

 

 

 

7: SQL LIKE 操作符

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

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

l Eg1:

 

l Eg:2

 

l Eg:3

 

l Eg:4

 

 

8:SQL 通配符

Ø 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

Ø SQL 通配符必须与 LIKE 运算符一起使用。

 

Eg:

 

² 使用 % 通配符

例如1:

现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

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

SELECT * FROM Persons WHERE City LIKE 'Ne%'

 

例如2

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

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

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

 

 

 

² 使用 _ 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

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

 

SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

例子 2

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er"

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

SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'

 

² 使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

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

SELECT * FROM Persons WHERE City LIKE '[ALN]%'

 

例子 2

现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值