单行注释:--
一、对数据库的操作
建立数据库
1)默认建立
create database 数据库名字
2)自定义建立
create database 数据库名字
on( --数据文件
name='Student', --逻辑名字
filename='E:\Student.mdf'; --路径+逻辑名字.mdf
size=3MB, --初始大小
maxsize=50MB, --最大值
filegrowth=10% --增长方式
)
log on --日志文件
(
name='Student_log', --逻辑名字
filename='E:\Student_log.ldf'; --路径+逻辑名字.mdf
size=3MB, --初始大小
maxsize=50MB, --最大值
filegrowth=10% --增长方式
)
修改数据库
同上,只不过把create改为alter
修改数据库名字
execute sp_renamedb 原数据库名,新数据库名
删除数据库
drop database 数据库名
选择当前数据库
use 数据库名
二、对数据库表结构操作
建立数据库表
create table 表名
(
列名 类型 是否为空 是否添加约束,
列名2 类型 是否为空 是否添加约束,
……
)
修改数据库表名
execute sp_rename 原表名,新表名
删除数据库表
drop table 表名
增加一个列
alter table 表名 add 列名 类型 是否为空……
删除一个列
alter table 表名 drop column 列名
修改列属性
alter table 表名 alter column 列名 类型 是否为空……
添加主键
alter table 表名 add constraint 主键名字 primary key(列名) --可以设置二个列为主键(列名,列名1)
添加主键也可以在建表的时候添加 是否为空(not null)后面添加 constraint 主键名 primary key(列名)
删除主键
alter table 表名 drop constraint 主键名
添加外键
alter table 表名 add constraint 外键名 foreign key 列名 references 主表(列名)
删除外键
alter table 表名 drop constraint 外键名
添加唯一约束
alter table 表名 add constraint 唯一约束名 unique(列名)
删除唯一约束
alter table 表名 drop constraint 唯一约束名
添加默认值约束
alter table 表名 add constraint 默认值约束名 default 默认值 for 列名
删除默认值约束
alter table 表名 drop constraint 默认值约束名
添加范围约束
alter table 表名 add constraint 范围约束名 check(范围表达式)
删除范围约束
alter table 表名 drop constraint 范围约束名
添加自增
建表的时候在后面添加 identity(初值,增值) 值得类型必须为int
三、对数据库表数据的操作
插入数据
insert into 表名(列名1,列名2,……) values(int类型,'字符类型',……) --类型与列要一一对应
如果插入数据的表中有默认值可以直接忽略
删除数据
delete from 表名 where 列名='值' --如果后面不加条件则表示删除表中的所有数据
修改数据
update 表名 set 列名='更改的值' where 列名='值'
查询数据
select * from 表名 --查询表中的所有数据
四、条件查询数据
替换查询结果(查询出来的数据显示自己想要的结果)
select 姓名=name,性别=
case
when sex=1 then '帅哥'
when sex=0 then '美女'
end
from 表名
这里显示的列名将不是表中的列名,而是姓名和性别二个列,当满足 when 后面的条件 列名=值 的时候显示替换 then后面的内容
去掉重复的行
select distinct 列名,*from 表名 --根据具体的某一个列来去掉重复的行
查询前多少行
select top 1 *from 表名 --查询第一行的所有数据
查询前百分之多少行
select top 10 percent * from 表名 --查询前百分之10的所有数据
区间查询(包括二边的值)
select * from 表名 where 列名 between 1.70 adn 1.80 --查询 1.70~1.80
or查询(或者)
select * from 表名 where 列名=条件 or 列名1=条件1 --满足一个条件即可
in查询(满足in里面的一个值即可)
select * from 表名 where 列名 in(值1值2,值3,……)
排序查询
select * from 表名 order by 列名 ASC/DESC --ASC默认升序(从小到大) DESC 降序(从大到小)
分组查询
……group by 列名
五、视图
create view 视图名字 [列名1,列名2,列名3,……] as 查询语句
六、索引
聚集索引(clustered index)
create clustered index 索引名 on 表名(列名)
非聚集索引(nonclustered index)
create nonclustered index 索引名 on 表名(列名)
聚集唯一索引
create unique clustered index 索引名 on 表名(列名)
七、事务
开始(begin transaction)
定义变量 declare
begin --开始
执行语句
if(条件) --判断
执行(commit ransaction)
else
回滚(rollback ransaction)
end --结束
八、自定义函数
创建:
create function 名字
(@a int) --调用函数时传过来的值
returns int --返回值得类型
as
begin
declare @b int --定义一个变量
set @b=@a*2 --给变量b赋值
return @b --返回值b
end
调用:
select dbo.名字(12)
九、存储过程
创建:
create procedure 过程名
@a int
as
begin
--内容
end
调用:
execute 过程名 参数
十、触发器
触发器不需要调用
create trigger 触发名
on 表
for 类型(insert,update,delete) --插入数据的表 inserted 删除数据的表 deleted
as
begin
declare @变量名 类型
set 赋值
--内容
end