第 1 页共11 页
一、数据库基本操作
1.数据库的建立
CREATE DATABASE 数据库名
ON PRIMARY
(
NAME= , --new_mdf
FILENAME= ‘ ’ --文件路径
SIZE=, --初始容量
MAXSIZE=, --最大容量
FILEGROWTH= --增长比例
)
2.修改数据库存容量
ALTER DATABASE 数据库名
MODIFY FILE
(
NAME=数据库名,
SIZE=新的容量大小
)
3.修改数据库名称
EXEC SP_RENAMEDB ‘oldname’ , ’newname’
4.删除数据库
DROP DATABASE数据库名
二、数据库表的操作
1.创建表
create table 表名
(
truncate多张表加逗号吗学号int primary key identity ,
名称char(6) not null,
专业方向varchar(10) not null,
系部代码char(2) not null,
备注varchar(50)
)
2.查看表
EXEC sp_help 表名
3.重命名表
exec sp_rename 'old_table_name','new_table_name’
4.重命名列:
▪exec sp_rename 'table_name.old_name','new_name','column‘5.添加新列:
▪alter table [table_name] add [new_column] varchar(33)
6.更改列的数据类型:
▪alter table [table_name] alter column [column_name] [data_type] 7.删除列:
▪ alter table [table_name] drop column [column_name]
8.删除表:
第 2 页共11 页
drop table table_name
9.删除表的所有数据:
▪Truncate table [table_name]
10.创建主键约束
▪ alter table [table_name]
add constraint pk
primary key clustered (列名)
11.创建外建约束
▪ alter table [table_name]
add constraint wz
foreign key (列名)
references 表名(列名)
三、数据基本操作
1.插入数据(一条一条)
INSERT [into] table_name (column_list) VALUES(data_values)
[into]是一个可选的关键字,可以将它用在insert和目标表之间。
table_name 是将要添加数据的表的名称
(column_list) 是要添加数据的字段名称或字段列表,必须用括写将column_list 括起来,并用逗号进行分隔。若没有指字段列表,则指字全部字段。
2.插入数据(批量插入)
INSERT [into] table_name (column_name) SELECT [column_name] FROM table_name where [search_conditions]
3.数据修改
UPDATE table_name SET column_name=值where[search_conditions]
4.删除数据
DELETE table_name WHERE [search_conditions]
5.查询表(输出表中的所有列)
SELECT*FROM table_name
6.查询表(查询表中的部分字段)
SELECT A,B,C FROM table_name
7.选择表中的若干记录
SELECT DISTINCT 列名FROM table_name
8.限制查询的返回条数
SELECT TOP n FROM table_name
9.常用的查询条件
常用的查询条件
第 3 页共11 页
(1)比较大小:比较运算符是比较两个表达式的大小的运算符,各运算符的含义是=(等于)、>(大于)
、<(小于) 、>=(大于或等于) 、<=(小于或等于) 、<>(不等于) 、!=(不等于)
(2)确定范围
确定范围运算符BETWEEN…AND 和NOT BETWEEN…AND…可以属性值在(或不在)指定的范围内
的记录。
(3)确定集合
确定集合运IN 和NOT IN 可以用来查属性属于(或不属于)指定集合的记
录。
(4)字符匹配
在实际的应用中,用户有时候不能给出精确的查询条件。因此,经常需
要根据一些不确定的信息来查询。T-SQL语言提供了字符匹配运算符
LIKE进行字符串的匹配运算。一般语法格式如下:
[NOT] LIKE ‘<;匹配串>’ [ESCAPE ‘<;换码字符>’]
其含义是查匹配串,与记录相匹配的记录。匹配串可以是完整的字符
串,也可以含有通配符“%”和“_” 。
百分号,代表可包含任意长度的字符串。
下画线,代表任意单个字符。
(5)涉及空值的查询
一般情况下,表的每一列都有其存在意义,但有时某些列可能暂时没有确定的值,这时用户可以不输入列的值。那么这列的值为NULL
空值运算符IS NULL 用来判断指定的列值是否为空。
列表达式[NOT] IS NULL
(6) 多重条件查询
可以使用逻辑运算符AND、OR、NOT 连接多个查询条件,实现多条件查询。
[NOT] 逻辑表达式AND|OR
5. 完整的select 语句的基本语法格式
虽然select 语句的完整语法较复杂,但是其主要的语法格式可归纳如下:
SELECT select_list
[into new_table_name]
FROM table_list
[WHERE search_conditions]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [asc|desc] ]
SELECT select_list 描述结果集的列,它是一个逗号分隔的表达式,
在选择列表中使用“*”表达式指定返回源表中所有的列
[INTO new_table_name] 用于指定使用结果集来创建一个新表,new_table_name是新表的名
第 4 页共11 页
称
FROM table_list 结果集数据来源于哪些表或视图。
[WHERE search_conditions]查询条件
GROUP BY group_by_expression 根据列中的值将结果分组。
HAVING search_conditions 结果集附加筛选,通常与GROUP BY 一起使用。
ORDER BY order_expression [ASC|DESC] 对结果进行分组ASC 和DESC 关键字用于指定行是按升序还是降序排序。
6、用查询结果生成新表
在实际的应用系统中,需要将查询结果保存成一个表,这个
功能可以通过SELECT 语句中的INTO子句实现。
INTO 新表名
新表名是被创建的新表,查询结果将自动添加到此表中。
新表的字段由结果集中的字段列表决定。
如果表名前加“#” 则创建的表为临时表。
7、对结果进行分组
GROUP BY 将查询结果集按某一列或多列值分组,分组列的值相等为一组,并对每一组进行统计。
GROUP BY 列名[HAVING 筛选条件表达式]
“ BY 列名“是按列名指定的字段进行分组,将该字段值相同的记录组成一组,对每一组记录进行汇总计算并生成一条记录。
“ HAVING 筛选条件表达式”表示对生成的组筛选后再对满足条件的组进行统计
8、对查询的结果排序
可以使用ORDER BY 对查询结果按照一个或多个属性进行升序(ASC)
或降序(DESC)排序,默认为升序。
ORDER BY {列名[ASC|DESC] [,...n] }
9、对数据进行统计。
用户经常要对结果集进行统计,例如求和、平均值、最小
值、个数等这些统计可以通过集合函数、COMPUTE子
句,GROUP BY 子句来实现。
使用集合函数
COUNT([DISTINCT| ALL] *)统计记录个数
COUNT ([DISTINCT| ALL] <;列名>)统计记录个数。
SUM ([DISTINCT| ALL] <;列名>)计算一列值总和(此列必须是数值型)。
AVG([DISTINCT| ALL] <;列名>)计算一列值的平均值(此列必须是数值型)。
第 5 页共11 页
MAX ([DISTINCT| ALL] <;列名>)求一列值中的最大值。
MIN ([DISTINCT| ALL] <;列名>)求一列值中的最小值。
10、使用COMPUTE
对查询结果集中的所有记录进行汇总统计,并显视所有参加汇总记录的详细信息。
COMPUTE 集合函数[BY 列名]
集合函数,例如SUM() 、AVG()、COUNT()等。
“BY 列名” 按指定“列名”字段进行分组计算,并显视被统计记录的详细信息。
BY 选项必须与ORDER BY 一起使用。
11、合并结果集
使用UNION 语句可以将查询结果集合并为一个结果集,也就合并操作语法如下:SELECT 语句
{UNION SELECT 语句}[,…n]
参加UNION操作的各结果集的列数必须相同,对应的数据类型也必须相同。
系统将自己动去掉并集的得复记录。
一、连接查询
前面所讲的查询是单表查询。若一个查询时涉及两个或两个以上的
表,则称为连接查询。连接查询是关系数据库中最主要的查询,包括
等值与非等值查询、自然连接、自身连接查询、外连接查询和复合条
件连接查询等。交叉连接的语法格式:
SELECT 列表列名FROM 表名1 CROSS JOIN 表名2
CROSS JOIN 交叉表连接关键字
1、交叉连接查询
(1)把A表中的所有数据,跟B表中的每一条数据进行拼接,从而形成了的新的数据
集
新数据集=A表所有记录x B表所有记录
2)进行拼接时,加个条件语句
把学生表的每条记录的班级代码,与班级表的表的班级代码进行比较,如果列值相等,则拼接形成一条记录,否则不拼接。
2、自然连接
用来连接两个表的条件称为连接条件或连接谓词,其中,比较运算符主要是:
=、>、<、>=、<=、!=
等值连接的过程类似于交叉连接,不过它只拼接满足连接条件的记录到结果集中。语法格式为:
SELECT 列表列名FROM 表名1 JOIN 表名2
ON 表名.列名=表名2.列名
3、自身连接查询
连接操作既可在多表之间进行,也可以是一个表与其自己进行连接,称为表的自身连接。使用自身连接时,必须为表指定两个别名,以示区别。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论