sql总结

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36 alter table 表名 [add 子句] [drop 子句] 创建表: create table 表名( 列名 数据类型 [default 缺省值] [not null] [,列名 数据类型 [default 缺省值] [not null]] . . . . . . [,primary key(列名 [,列名] …)]主键(多个值作为联合主键) [,foreign key (列名 [,列名] …) 外键 references 表名 (列名 [,列名] …)]外间关联表 [,unique(列名 [,列名] …)]不允许重复列 [,check(条件)])约束条件 如: create domain person_name char(20)(定义域) create table PROF ( PNO char(10),--职工编号 PNAME person_name not null, --职工姓名 SAL int, --工资 AGE int, --年龄 DNO char(10), --主任职工编号 primary key (PNO), --主键 foreign key (DNO) references DEPT(DNO),外键关联 简单定义表: create table CIA ( NAME varchar(50) primary key, ) REGION varchar(50) not null default ‘region not formalized yet', AREA int null, POPULATION long null, GDP long not null 修改表: 增加新列 删除列 [modify 子句] 修改列定义 Add列不为空是需加默认值(缺省值) 修改列定义时先建一修改后的新列,复制要修改的原列,删除修改的原列 37

38 索引的定义 create [unique|distinct] [cluster] index 索引名

40

41

42

43

44

45

46

47

48

49

50

51

52 unique(distinct):唯一性索引,不允许表中不同的行在索引列上取相同值。若已有相同值存在,则系统给出相关信息,不建此索引。系统并拒绝违背唯一性的插入、更新。 cluster:聚簇索引,表中元组按索引项的值排序并物理地聚集在一起。一个基本表上只能建一个聚集索引。 asc|desc:索引表中索引值的排序次序,缺省为asc。 ? 示例: create cluster index g-index on CIA(REGION) 删除索引: drop index 索引名 sql查询 1、 sum 总和 avg平均 distinct/unique 去重 asc 升序| desc降序 2、 select name case when age>60 then 1 when age<60 then 2 end age from table1. 3、 SELECT last_name +' is a ‘+ job_id AS "Employee Details" FROM employees; 53 54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72 4、 escape 转义字符的使用:db2,oracle均可用 例:select * from rpt_plain_define where rpt_id like '%\_%' escape '\'; 5、 order by 排序: order by age asc 升序 order by desc 降序 order by 2 按select查询第三个字段排序 6、集合 集合并:union ? 求选修了001或002号课程的学生号。 (select SNO from SC where CNO = 001) union all (select SNO from SC where CNO = 002) 默认去重 集合交:intersect 集合差: except Table1 except table2 得到table1中有,而table2中没有的记录 求选修了001和002号而没有选003号课程的学生号。 (select SNO from SC where CNO = 001 or CNO = 002 ) except (select SNO from SC

74

75

76

77

78

79

80

81 § 聚集函数 ? 平均值:avg ? 最小值:min ? 最大值:max ? 总和:sum ? 记数:count 聚集函数后跟group by …having… (单个字段查询不需要:SELECT MAX(SALARY) FROM EMPLOYEES) 82

83

84

85

 

第二篇:SQL总结

SQL总结

数据库

1查询数据

Select<列名>From<表名>where<查询条件>

2增加数据

Insert into<表名>(列名)values(值)

3更新数据

Update<表名>set<列名=更新值>where=<更新值>

4删除数据

Delete from表名[where<删除条件>]

5创建数据库

Create Database (数据库名)

On primary(

Name =’stuDB_data’

Filename D:\stuDB_data.mdf;

Size=5MB,

Maxsize=100mb

Filegrowth=15%)

Log on (

Name=’stuDB_log’

Filename=”d:\stuDB_log.ldf”,

Size=2MB,

Filegrowth=1mb

)

Go

6创建表

Create Table (表名)

(id int identity(1,1) primary key,

Name char(20) no null

Sex bit

7删除表

Delete from 表 where 条件 scoreis null delete 表名

表的约束

1 主键约束

2 唯一约束

3默认约束

4检查约束

5外键约束

两种方式添加约束

1建表的时候添加

2先建表 后添加

多表联接查询分类

内联接

左外联接

右外联接

完整外连接

交叉联接

全联接

T SQL编程

使用变量

局部变量先声明后赋值

以@为前缀

全局变量 以@_@为前缀

声明局部变量

@变量名 数据类型

If else 语句、

If(条件)

Begin

语句1

语句2

End

Else

Begin

语句1

语句2

End

While(条件)

Begin

语句1

语句2

Break

End

事务

1 开始事务 begin transaction

2提交事务 commit transaction

3 回滚(撤销)事务 rollback transaction

一旦事务提交或回滚 则事务结束

索引类型

唯一索引:不允许有两个相同的索引值

主键索引: 为表定义一个主键 将自动创建主键索引 主键索引时唯一索引的特殊类型 主键索引要求主键中的每个值是唯一的 并且不能为空

聚集索引 表中个性的物理顺序与键值的逻辑顺序相同 每个表只能有一个

非聚集索引: 指定表的逻辑顺序 数据存储在一个位置 索引存储在另一个位置 索引中包

含志向数据存储位置的指针 可以的多个 小于240个 创建视图

Create view 视图名

AS

Select 查询语句

创建存储过程

Create proc 存储过程名

@参数 数据类型=默认值OUTPUT

@参数 数据类型=默认值 OUTPUT

AS

SQL语句

GO

相关推荐