1.创建数据库:
Create database student On primary (name=student, Filename=’student.mdf’, Size=10mb, Maxsize=unlimited, Filegrowth=2mb) Log on (name=student_log, Filename=’student_log.ldf’, Size=4mb, Maxsize=unlimited, Filegrowth=10%)
2.打开指定的数据库
Use database_name Database_name:student
3.查看数据库信息
Execute sp_helpdb student
4.重命名数据库名
Alter database student Modify name=新的数据库名
5.删除数据库
Drop database student
6.创建表,为表添加约束
Create table student (name varchar(20) not null primary key,--这里添加了一个主键 Age int not null , Star varchar(20) not null , Idcard varchar(20) not null --这里也可以一次添加多个主键 例如:primary key(列1,列2) ) 添加约束(直接添加在定义完的列后面): 标识列:IDENTITY(初始值,步长) 主键: Constraint frimary key(列名) 唯一键:constraint unique key(列名) 外键:constraint foreigh key(外键列) references 引用表名(应用列) 检查约束:constraint check(检查表达式) 默认值: constraint default 默认值
7.查看表结构信息
Execute sp_help 表名
8.向表中添加列
alter table 表名 Add 列名 数据类型(长度) null/not null
9.修改列已有属性
Alter table 表名 Alter column 列名数据类型(长度) null/not null
10.删除列
Alter table 表名 Drop column 列名
11.删除数据表
Drop table 表名1,表名2...
12.向表中添加数据
Insert into 表名(列名1,列名2,列名2...) Values(值1,值2,值3...)
13.修改表中的数据
Update 表名 Set 列名1=‘字段名称’,列名2=‘字段名称’...... (如果有约束:from 相关表名1,相关表名2......) Where 条件表达式 例:update student Set 星座=’白羊座’ Where 姓名=‘sindsun’
14.删除表中一行或多行数据
Delete from 表名 (或者:truncate table 表名)--这里删除表中所有数据 Where 条件表达式
15.主键约束
语法格式1: Create table 数据表名 列名 数据类型 nul/not nulll constraint 约束名 primary key 语法格式2: Create table 数据表名 Constraint 约束名 primary key(列名1,列名2,列名3......) 向已有表中添加主键约束: Alter table 表名 Add constraint 约束名 primary key(列名1,列名2......) 删除主键约束: Alter table 表名 Drop constraint 约束名
16.唯一键约束
语法格式1: Create table 数据表名 列名 数据类型 null/not null constraint 约束名 unique 语法格式2: Create table 数据表名 Constraint 约束名 unique(列名1,列名2......) 向已有表中添加唯一约束: Alter table Add constraint 约束名 unique(列名1,列名2......) 删除唯一约束: Alter table 表名 Drop constraint 约束名
17.检查约束
语法格式: Create table 数据表名 列名 数据类型 null/not null constraint 约束名 check(逻辑表达式) 向已有表中添加检查约束: Alter table 表名 (with nocheck) --这里存在时,不检查现有约束 Add constraint 约束名 check(逻辑表达式) 注意:多表达式之间用or 连接 例:check(电话like o-9 0-9 0-9)--电话号码由每一位都由0-9组成 删除检查约束: Alter table 表名 Drop constraint 约束名 通过check 和nocheck 设置为无效或重新有效: Alter table 表名 Nocheck constraint 约束名 / check constraint 约束名
18.默认值约束
语法格式1: Create table 数据表名 列名 数据类型 null/not null constraint 约束名 default 默认值 语法格式2: Create table 数据表名 Constraint 约束名 default 默认值 for 列 向已有表中添加默认约束: Alter table 表名 Add constraint 约束名 默认值 for 列 删除默认约束: Alter table 表名 Drop constraint 约束名
19.外键约束
语法格式1: Create table 数据表名 列名 数据类型 null/not null constraint 约束名 foreign key References 参照主见表(参照列) On delete cascade –表示级联删除 On update cascade –表示级联更行 语法格式2: Create table 数据表名 Constraint 约束名 foreign key(列名) References 参照主键表(参照列) On delete cascade –表示级联删除 On update cascade –表示级联更行 向已有表中添加外键约束: Alter table 表名 Add constraint 约束名 foreign key(列名) References 参照主键表(参照列) On delete cascade –表示级联删除 On update cascade –表示级联更行 删除外键约束: Alter table 表名 Drop constraint 约束名
20.默认值
创建默认值: Create default 默认值名称 as 常量表达式 例如:create default df_学时数 as 60 绑定默认值: Execute sp_bindefault ‘默认值名称’,’表名.字段名/用户自定义的数据类型 解绑默认值: Execute sp_unbindefault ’表名.字段名/用户自定义的数据类型 删除默认值: Drop default 默认值名称
21.规则
创建规则: Create rule 规则名称 as 条件表达式 例如:create rule 总学分 as @score>0 and @score<50 绑定规则: Execute sp_binrule ‘规则名称’,’表名.字段名/用户自定义的数据类型 解绑规则: Execute sp_unbinrule ’表名.字段名/用户自定义的数据类型 删除规则: Drop rule 规则名称
22.标识列
创建标识列: Create table 数据表名 列名 数据类型 identity(种子,增量)
23.自定义数据类型
创建自定义数据类型 Execute sp_addtype 自定义数据类型,系统数据类型名称 null/not null 例如:execute sp_addtype type_电话 ,’varchar(8)’,”null” 删除用户自定义数据类型: Execute sp_droptype 自定义数据类型
24.基本的select 语句
方法1: Select 字段列表 from 表名列表 where 查询条件 设置字段别名: 列表达式 as 别名 或 列名=列表达式 查询经过计算的值: 计算字段名=表达式 例如:select 学号,姓名,年龄=datediff(YY,出生时间,getdate()) 过滤重复字段: 例如:select distinct 专业 from 表名 返回前面若干条记录: Select top n/top n percent 列名1/* from 表名 例如:select top 5 * from student –查询表中前五条记录 Select top 10 percent * from student –查询表中前10%的记录
25.条件查询语句
Select 字段列表 Into 新表名 from 表名列表 where 查询条件 注释:新表是不存在的,新表的列和行是基于查询结果的, ---使用该语句必须在目的数据据中必须具 有create table 权限,如果表名称的是以#开头,则生成的是临时表。
26.应用WHERE子句定义搜索条件
Select 列名1,列名2... From 表名 where 条件表达式 查询条件中常用 的运算符 运算符 用途 =,<>,>,>=,<,<=,!= 比较大小 And,or,not 设置多重条件 Between...and... 确定范围 In,notin,any|some,all 确定集合 like 字符匹配,用于模糊查询 Is[not]null 测试空值 * 比较表达式作为查询条件: 例:select 姓名,性别,年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate())<20 * 逻辑表达式作为查询条件: 例:select 姓名,性别,年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate())<20 and 性别=’女’ * 查找属性值在(或不在)指定范围内的元组: 例 :select 姓名,性别,年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate()) between 19 and 20 and 性别=’女’ *更方便的限制检索数据的范围: 表达式:表达式 [not] in (表达式1,表达式2...) 例:select distinct 学号 from 数据表名 Where 课程号 in(‘A003’,’J003’) *模糊查询: 表达式:表达式 [not] like <匹配串> --%:表示从0~nwh 任意字符串 --_:表示单个任意字符 --[]:表示方括号里列出的任意一个字符 --[^]:任意一个没有在方括号里列出的字符 例:“查询张姓学生的学号及姓名” Select 学号,姓名 from 数据表名 Where 姓名 like ‘张%’ *涉及空值的查询: 例:”查询选修了课程却没有成绩的学生的学号” select * from 数据表名 Where 成绩 is null
27.对查询结果进行排序查询
表达式:select 列名1,列名2,列名3...... Where 列名 =’值’ order by 给定条件列 [asc/desc] 注释:asc:升序 desc:降序
28.集合函数(对查询结果得到的数据集进行汇总或求平均值等各种运算)
SQL server的统计函数表 函数名 功能 SUM() 求和 AVG() 求平均值 MIN() 返回一个数列或数值表达式的最小值 MAX() 返回一个数列或数值表达式的最大值 COUNT() 返回满足SELECT语句中指定条件的记录的个数 COUNT(*) 返回找到 的行数 例:“查询学生总人数”:select 学生总人数=count(*) from 数据表名 “查询选修A005课程的学生人数”: select 选课人数=count(distinct 学号) from 数据表名 Where 课程号=’A005’ “查询选修A001课程的学生的最高分”: Select A001课程最高分=MAX(成绩) from 数据表名 Where 课程号=’A001’
29.按照指定的列,对查询结果进行分组统计(课本112页)
表达式:group by 列名 [having 条件表达式]
30.使用COMPUTE BY子句可以对BY后面给出的列进行分组分组显示,并进行列的小计
例:“求每门课程的成绩大于等于90分的人数” Select * from 数据列表 Where 成绩>=90 Order by 课程号 Compute count(课程号) by 课程号
31.交叉连接查询
表达式1: Select 表名1.列名 , 表名2.列名... from 表名1 cross join 表名2 表达式2: Select 表名1.列名, 表名2.列名... From 表名1,表名2
32.内连接(连接条件通常采用“主键=外键”的形式)
表达式1: Select 表名1.列名 , 表名2.列名... from 表名1 [inner] jion 表名2 on 表名1.列名=表名2.列名 表达式2: Select 表名1.列名, 表名2.列名... From 表名1,表名2 Where 表名1.列名=表名2.列名
33.外连接:
*左外连接(将左表中的所有记录分别与右表中的每条记录进行组合) 表达式:select 列表1.列名_ as 列名,列表1.列名......,列表2.列名_,列名2.列名 From 表名1 as A left [outer] join 表名2 as B on A.列名_=B.列名_ *右外连接(将左表中的所有记录与右表中的每条记录进行组合) 表达式: select 列名列表 from 表名1 right [outer] join 表名2 on 表名1.列名=表名2.列名 Join 表名3 on 表名3.列名=表名2.列名2... *全外连接:(不管查询的结果是否为空,都会全部显示) 表达式: Select 表名1.列 as 列1,表名1.列名,表名2.列2 as 列2,表名2.列名 From 表名1 full join 表名2 on 表名1.列=表名2.列
34.自连接(暂无整编)
35.合并查询(暂无整编)
36.子查询(暂无整编)
整理制作本手册主要目的在于为广大软件爱好初学者提供方便,如若发现本文有错误编辑,请联系狂码一生站长进行错误纠正。
版权声明:
此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处:
[狂码一生]
https://www.sindsun.com/articles/21/89
[若此文确切存在侵权,请联系本站管理员进行删除!]
--THE END--