SQLSERVER数据库、表的创建及SQL语句命令
SQLSERVER数据库,安装、备份、还原等问题:
⼀、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题
1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了
2、sql server服务启动失败,解决⽅法:
进⼊sql server configure manager,点开 Sql server ⽹络配置(⾮sql native client 配置),点sqlzhh(我sqlserver的名字)协议,将VIA协议禁⽤。再启动Sql Server服务,成功
如图:
⼆、在第⼀次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显⽰安装失败。
解决⽅法:
1、重新启动安装程度,选择进⾏修复安装,⾄完成即可。
三、先创建数据库XXX,再进⾏还原数据库时,选择好备份⽂件XXX.bak,确定后进⾏还原,会报如下图的错误。
解决⽅法:
选择好备份数据库⽂件后,再进⼊“选项”中,勾选“覆盖现在数据库”即可。
四、查看数据库版本的命令:select @@version
在数据库中,点击“新建查询”,然后输⼊命令,执⾏结果如下
五、数据库定义及操作命令:
按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。
1、修改数据库密码的命令:
EXEC sp_password NULL, ‘你的新密码’, ‘sa’
sp_password Null,‘sa’,‘sa’
2、操作SQL2008数据库的命令
备份SQL数据库:
backup database [3D-DATA]/原数据库/ to disk=‘D:\Program Files\Microsoft SQL       
Server\MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak/数据库备份⽂件/’
with name = ‘3D-DATA_backup_20131017’/数据库备份⽂件/
查看备份数据库的逻辑⽂件:
restore filelistonly
from disk=
'd:\Program Files\Microsoft SQL Server
MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak ’
强制还原SQL数据库:
[其中,Test-3d是已存在的数据库,3D-FEP_data和3D-FEP_log为备份数据库的两个逻辑⽂件,]
restore database [Test-3d]
from disk = ‘d:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\3D-
DATA_backup_20131017.bak’
with
move ‘3D-FEP_data’ to ‘D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d.mdf’,
move ‘3D-FEP_log’ to ‘D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-
3d_log.ldf’,
3d_log.ldf’,
stats = 10/* 表⽰每完成10%显⽰⼀条记录*/ ,replace/表⽰强制,放置在with后,加英⽂逗号也可/
以下为另⼀种⽅式:
-备份数据DB 到.bak⽂件。然后利⽤此bak⽂件恢复⼀个新的数据库DBTest。
USE master;
backup database DB
to disk = ‘g:\DBBack0930.bak’ ;
restore filelistonly
form disk = ‘g:\DBBack0930.bak’ ;
restore database DBTest(此数据库,已创建)
FROM DISK = ‘g:\DBBack0930.bak’
WITH MOVE ‘DBTest’ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf’,
MOVE ‘DBTest_log’ TO ‘E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf’
GO
六、
SQL Server数据库⽂件恢复技术 yzhshi(yzhshi@etang) SQL Server数据库备份有两种⽅式:
1、使⽤命令:BACKUP DATABASE,将数据库⽂件备份出去;
2、直接拷贝数据库⽂件mdf和⽇志⽂件ldf的⽅式。
下⾯将主要讨论⼀下后者的备份与恢复。本⽂假定您能熟练使⽤SQL Server Enterprise Manager (SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)
  正常的备份、恢复⽅式正常⽅式下,我们要备份⼀个数据库,⾸先要先将该数据库从运⾏的数据服务器中断开,或者停掉整个数据库服务器,然后复制⽂件。
  卸下数据库的命令:Sp_detach_db
  数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_db s_attach_db [@dbname =]
′dbname′,
[@filename1 =] ′filename_n′ [,…16] sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =]
′physical_name′ 使⽤此⽅法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库⽂件,要点是备份的时候⼀定要将 mdf和ldf 两个⽂件都备份下来,mdf⽂件是数据库数据⽂件,ldf是数据库⽇志⽂件。
七、SQL命令创建数据库及数据表
use master
if db_id (‘Test-a01’)is not null–判断数据库,是否已存在
drop database [Test-a01]–删除数据库
go
create database [Test-a01] on primary
(
name = ‘Test-a01_data’, --数据⽂件的逻辑名称
filename = ‘D:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-a01_data.ndf’ , --数据⽂件的路径和⽂件名size = 3mb ,-- 数据⽂件的初始容量
maxsize = 10mB --数据⽂件的最⼤容量
)
log on
(
name = ‘Test-a01_log’, --事务⽇志⽂件的逻辑名称
filename = ‘D:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-a01_log.ndf’ , --事务⽇志⽂件的路径和⽂件名
size = 3mb , --事务⽇志⽂件的初始容量
maxsize = 10mB --事务⽇志⽂件的最⼤容量
)
Go
use [xxxxx] /指定创建表的数据库/
go
create table student
(
stuID char(5) primary key,–主键
stuname char(20)not null,
stusex char(2) check(stusex in(‘男’,‘⼥’)) default(‘⼥’),–设定范围及默认值
stuage char(6),
stubirth date check(stubirth between ‘1985-01-01’ and ‘1995-12-31’),–设置⽇期范围stuaddress varchar(100),
stunum char(12),
stuemail char(40)check(stuemail like ‘%@%’)
)
go
use [xxxxx]
go
create table teacher
(
TeacherID char(5),
Teaname char(20)not null,
Teasex char(2) check(Teasex in(‘男’,‘⼥’)) default(‘⼥’),
Teaage char(6),
Entrydate date check(Entrydate between ‘1950-01-01’ and ‘2099-12-31’), Teaphone varchar(100),
Teanum char(12),
Teaaddress char(40)
)
1、删除新表:
drop table table_name;
2、创建视图:
create view viewname as select statement;
例1:
create view view_name01(stuid,stuname,stusex,stuage)
as
select stuid,stuname,stusex,stuage from student where stuage>=25;
其中,红⾊部分的字段列,必须相同。
如下例2,则不⽤考虑(⽐较常⽤).
create view view_name02
as
select stuid,stuname,stusex,stuage from student where stuage>=25;
查看视图:select * from view_name;
3、删除视图:
drop view viewname;
4、创建索引:
create [unique] index idx_name on table_name(字段1…);
create index idx_name on table_name (COLUMN_NAME);
5、删除索引:
drop index idxname;
⼋、常见创建数据表的限制,有以下⼏种:
NOT NULL
UNIQUE
CHECK
主键 (Primary Key)
外来键 (Foreign Key)
1、NOT NULL
表⽰某字段的值,不允许出现空值。
例如:
CREATE TABLE Customer
(
SID int NOT NULL,
Last_Name varchar (30) NOT NULL,
First_Name varchar(30)
);
2、unique
表⽰某字段的值,不允许重复
例如:
CREATE TABLE Customer
(
SID int Unique,
Last_Name varchar (30) NOT NULL,
First_Name varchar(30)
);
3、check
下载mysql服务端命令检查某字段的值,必须符合某些条件
CREATE TABLE Customer
(
SID int check( sid>0 ),
Last_Name varchar (30) NOT NULL,
First_Name varchar(30)
);
4、主 键
主键 (Primary Key) 中的每⼀笔资料都是表格中的唯⼀值。添加主键SQL命令(注意:选择作主键的列,必须有数值):Alter table teacher add primary key(TeacherID);
Alter table teacher add primary key(TeacherID);
创建数据表时,加主键的不同⽅式:
MySQL:
CREATE TABLE Customer
(SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。