一、数据库是一个大容量的存储数据的仓库,为了保证数据完整性,防止一些数据的意外丢失等情况,需要对数据进行备份和还原。

备份数据不影响数据库的正常运行。

1、备份、还原数据库

首先对数据库进行备份,操作步骤如下:

1)把鼠标放在在选择想要备份的数据库,右击“任务”--“备份”;

sql server数据库备份还原 sql server数据库还原和备份_升序

2)单击“确定”,弹出“备份数据库”的窗口,在备份类型下面,选择“仅复制备份”,选择“备份过期时间”,添加“目标备份到的位置”,单击“确定”。

sql server数据库备份还原 sql server数据库还原和备份_升序_02

3)弹出对话框:提示备份已成功执行。

 

sql server数据库备份还原 sql server数据库还原和备份_升序_03

还原:

备份完成后,删除该数据,利用还原可以将原有的数据库找回来;

1)第一种方法:把鼠标放在某个想要还原的数据库右击,选择“任务”--“还原--数据库”;

 

sql server数据库备份还原 sql server数据库还原和备份_数据_04

第二种方法:(在数据库全部删除的前提下)把鼠标放在“数据库”右击---“还原数据库”;

 

sql server数据库备份还原 sql server数据库还原和备份_升序_05

2)出现“还原数据库”的窗口,目标数据库就是你要还原的数据库的名称,指定“源设备的位置

sql server数据库备份还原 sql server数据库还原和备份_sql server数据库备份还原_06

 

  出现指定备份的位置;单击“确定”。

sql server数据库备份还原 sql server数据库还原和备份_升序_07

 

3)出现还原的备份集,选择仅复制备份的数据库,

 

sql server数据库备份还原 sql server数据库还原和备份_sql server数据库备份还原_08

 

4)弹出对话框:提示还原已成功完成。

 

sql server数据库备份还原 sql server数据库还原和备份_数据_09

如果出现下面对话框,还原未成功完成。

sql server数据库备份还原 sql server数据库还原和备份_升序_10

2、附加、分离的是数据库

分离:

1)在某个想要分离的数据库右击“任务”--“分离”

 

sql server数据库备份还原 sql server数据库还原和备份_数据_11

2)弹出“分离数据库”窗口,单击“确定”。

 

 

sql server数据库备份还原 sql server数据库还原和备份_数据_12

3)将分离的数据移动到别处(只要不在原来的磁盘数据库文件夹下)

附加:

1)回到数据库管理平台,右击“数据库”--“附加”

 

sql server数据库备份还原 sql server数据库还原和备份_数据库_13

2)弹出“附加数据库”的窗口,选择要附加的数据库,单击“确定”。

 

sql server数据库备份还原 sql server数据库还原和备份_数据库_14

3)附加后,在对象资源管理器下面,找到相应数据库。

sql server数据库备份还原 sql server数据库还原和备份_数据库_15

在查询下面,通过代码删除数据库:

Drop database +数据库的名称--删除数据库语句

二、查询语句(重点)
1、修改表、先加入列,注意列名与内置单词数据类型冲突的时候,列名加[]括起来。
Alter table xinxi add[int]varchar(10)
Alter table xinxi add nianling int
Alter table不能设置不为空,
2、修改表删除一列:
Alter table xinxi drop column [int]
3、修改名称,将student改成xuesheng
修改数据库的名称:Sp_renamedb student(前面原数据库名称),xuesheng(后者是要改成的数据库名称)
修改表的名称:Sp_rename xinxi,tongji--修改表的名称
4、where.(条件). .between...and..(范围).在两者之间(大于等于,小于等于)
Select *from xinxi where fenshu between 80 and 100
5、Update....set...where...
例:update xinxi set nianling=26 where fenshu between 80 and 100
6、自动消除重复distinct  针对一列,多列无法显示
Select distinct...
例:select distinct name from xinxi
7、all一般默认,不用写
8、Update xinxi set nianling=26 where code=6
9、And(单独)..是“并且”
查询两个李四里面年龄是26的那个:
Select * from xinxi where name=‘李四’and nianling=26
10、or...”或者”
Select * from xinxi where name=‘李四’or nianling=26
11、in (...)在...范围的
列名在查询哪个范围的都查询出来
Select * from xinxi where nianling in(21,22,23,24)
Select * from xinxi where name in (‘李四’,‘赵六’)
12、not...in (...)不在...范围的
Select * from xinxi where name not in (‘李四’,‘赵六’)
13、通配符 %表示任意多个任意字符;Like,模糊查询;,当只知道大概的时候
Select * from xinxi where name like‘%四%’
14、下划线_表示任意一个字符
Select * from xinxi where name like‘李_’
15、_[,]下划线加中括号等同于in,表示中括号里面任意一个值满足就可以查询出来
Select * from xinxi where name like‘_[李四,赵六,田七]’
16、Order by 按某一列名排序,asc 升序,desc降序,默认不写是升序。
Select * from xinxi order by nianling asc
Select * from xinxi order by nianling desc
17、按降序排列后取前三名
Select top 3* from xinxi order by fenshu desc
18、按条件查询后排序(查名字叫李四的人谁的分数最高)
Select top 1*from xinxi where name=’李四’order by fenshu desc