SQL-Server查询语句

一、数据库文件

1.创建数据库

create database 数据库名
on
(
	name=   ,--主数据文件逻辑文件名通常与数据库同名
	filename='d:\……\…… .mdf',
	size=  ,
	maxsize=   ,--最大文件容量不受限制 unlimited
	filegrowth=   --按M或按%
)
log on
(
	name=   ,--主日志文件逻辑文件名通常为数据库_log
	filename='d:\……\…… .ldf',
	size=  ,
	maxsize=   ,--最大文件容量不受限制 unlimited
	filegrowth=   --按M或按%
)

2.修改数据库

--添加数据文件
alter database 数据库名
add file 
(
	
)
--添加日志文件
alter database 数据库名
add log file
(

)
--修改指定文件属性
alter database 数据库名
modify file
(
	name=   ,--通过name指明要修改的文件
	--把修改的属性列出来
)
--删除文件
alter database 数据库名
remove file 文件的逻辑名
--添加文件组
alter database 数据库名
add filegroup 文件组名
--添加数据文件并指明存放的文件组
alter database 数据库名
add file
(

) to filegroup 文件组

3、删除数据库

drop database 数据库名

二、数据表

1.创建数据表

create table 数据表
(
	列名1 数据类型 约束,
	列名2 数据类型 约束,
	列名3 数据类型 约束,
	……
)
--例:表tb_test中colF列要参照tb_T表中的colF列。
create table tb_test
(
	colA int primary key identity(1000,1),--主键
	colB varchar(100) unique,--唯一约束
	colC int not null,--只能在列级别上创建
	colD varchar(50) default '软件学院',--只能在列级别上创建
	colE float check(colE between 0 and 100),--检查约束
	colF varchar(10) foreign key references tb_T(colF),--外键约束
	--constraint 约束名 约束类型(主、外、唯一、检查)
	--constraint pk_t_test primary key(colA,colB),--符合主键
	--constraint ix_t_test unique(colC,colD),--多列的唯一性约束
	--constraint ck_t_test check(colC>colE),
	--constraint fk_t_test foreign key(colF) references tb_T(colF)
)

2.修改数据表

--添加列
alter table 表名
add 列名 数据类型 约束
--修改列属性
alter table 表名
alter column 列名 修改数据类型 修改空值约束
--删除列
alter table 表名
drop column 列名
--添加约束
alter table 表名
add constraint 约束名 约束类型
--默认值约束
alter table 表名
add constraint def_tb_test default '值' for--删除约束
alter table 表名
drop constraint 约束名

3.删除数据表

drop table 数据表

4.表的查询

单表查询
select 查询列1,2,3…… rom 表--查询列中除聚合函数之外的列,应该列入group by子句中,否则会报错
where 筛选列 操作符 值
group by 分组列1,2,3…… with rollup--建议分组列写入查询列中,这样查询结果更清晰
having 筛选列 操作符 值
order by 排序列1,2,3…… asc/desc
多表查询
内连接方式1
select 查询列1,2,3…… from1,2,3……
where 多表连接条件 and 筛选列 操作符 值
group by 分组列1,2,3…… with rollup
having 筛选列 操作符 值
order by 排序列1,2,3…… asc/desc
--注:若列在多表中不唯一,必须写成:表名.列名或表的别名.列名
内连接方式2
select 查询列1,2,3…… from1 [inner] join2 on 连接条件
where 多表连接条件 and 筛选列 操作符 值
group by 分组列1,2,3…… with rollup
having 筛选列 操作符 值
order by 排序列1,2,3…… asc/desc
外连接
select 查询列1,2,3…… from1 left/right/full [outer] join2 on 连接条件
where 多表连接条件 and 筛选列 操作符 值
group by 分组列1,2,3…… with rollup
having 筛选列 操作符 值
order by 排序列1,2,3…… asc/desc
子查询
子查询返回单列
select …… fromwhere 筛选列 操作符 (子查询语句)
子查询返回多列
select …… fromwhere exists (子查询)

5.表数据更新

--向表中添加记录
--(1)逐条添加
insert [into] 表名 [(1,2,3……)] values (1,2,3……),(1,2,3……),(1,2,3……)……
--(2)一次性添加子查询结果集
insert [into] 表名 [(1,2,3……)] (子查询)
--修改表中记录
update 表名
set 修改列1=,修改列2=2……
where 筛选值 操作符 值
--删除表中记录
delete [from]where 筛选值 操作符 值
--truncate table语句与不带where的delete语句一样:清空表中记录;但truncate table执行速度更快,因为不需向日志文件写入太多的内容
truncate table 表名

三、视图

--创建、修改、删除
create view 视图名
as (子查询)

alter view 视图名
as (子查询)

drop view 视图名
--2、通过视图对数据进行增删改查
select …… from 视图名
……

四、索引

create [unique] index 索引名 on 表名(列名……)
drop index 表名.索引名
--默认为非聚集不唯一的索引
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值