SQLSERVER数据库、表的创建及SQL语句命令
- 格式:docx
- 大小:292.21 KB
- 文档页数:20
数据库原理及应⽤实验⼀【SQL语句创建数据库和表】⼀、实验⽬的1.熟悉SQL Server2012操作界⾯,了解数据库系统的逻辑组件;2.熟悉SQL Server的管理控制台操作环境;3.掌握使⽤SQL Server Management Studio 及SQL语句创建数据库和表的⽅法;4.掌握数据库及表结构的修改⽅法;5.掌握数据库管理的基本操作。
⼆、实验步骤1.启动SSMS(SQL Server Management Studio)2.通过向导创建数据库3.通过T-SQL语句创建数据库4.通过向导创建数据库表5.通过T-SQL语句创建数据库表三、实验内容1.启动SSMS(SQL Server Management Studio)(1)打开 SQL Server Management Studio,将弹出如下图所⽰的登录窗⼝。
这⾥有两种⾝份验证⽅式:第⼀种⽅式选择Windows⾝份验证登录,服务器名称为本机⽤户名(如:WIN-E1G5CJSSRP5)或(local)登录;第⼆种⽅式选择 SQL Server ⾝份验证登录,⽤户名为 sa,密码为安装数据库时设置的密码。
点击连接按钮,进⾏连接(注:若服务器连接不上,打开控制⾯板中管理⼯具下的服务,检查 SQL Server 的服务是否启动)。
(2)右击 SQL Server 服务器,弹出如下图所⽰菜单菜命令,点击【断开连接】,则将断开当前数据库管理⼯具这个应⽤和 SQL Server 服务器之间的连接通信。
(3)点击菜单命令中的【暂停】,可以暂停当前的 SQL Server 服务。
点击菜单命令中的【停⽌】,可以停⽌当前正在运⾏着的 SQL Server 服务。
点击菜单命令中的【重新启动】,可以重新启动当前已经停⽌的 SQL Server 服务。
(4)点击菜单命令中的【属性】,则将弹出如下图所⽰的对话框。
该对话框定义了许多SQL Server 实例级别的配置参数。
SQL Server SELECT语句和CREATE TABLE语句1. SQL Server简介SQL Server是由微软公司开发的一款关系型数据库管理系统(DBMS)。
它是目前市场上最流行的数据库之一,被广泛应用于各种规模的企业和组织中。
SQL Server提供了丰富的功能和工具,用于管理和处理大量的结构化数据。
它支持标准的SQL语言,具有高性能、可靠性和安全性,适用于各种应用场景。
2. SELECT语句SELECT语句是SQL语言中最常用的语句之一,用于从数据库中检索数据。
它的基本语法如下:SELECT列名1, 列名2, ...FROM表名WHERE条件•列名:指定要检索的列名,可以是一个或多个列。
•表名:指定要检索数据的表名。
•条件:可选的,用于筛选要检索的数据。
SELECT语句可以根据需要进行定制,支持多种关键字和函数,以实现更复杂的数据检索和处理操作。
2.1 基本查询最简单的SELECT语句可以用来检索整个表的数据,例如:SELECT * FROM表名;这将返回表中所有列的所有行数据。
2.2 条件查询为了更精确地检索数据,可以使用WHERE子句来指定条件。
例如:SELECT列名1, 列名2, ...FROM表名WHERE条件;条件可以使用比较运算符(如=、<、>等)和逻辑运算符(如AND、OR等)进行组合。
2.3 排序查询使用ORDER BY子句可以对检索到的数据进行排序。
例如:SELECT列名1, 列名2, ...FROM表名ORDER BY列名1 ASC/DESC, 列名2 ASC/DESC, ...;ASC表示升序排序,DESC表示降序排序。
2.4 聚合查询SELECT语句还支持一些聚合函数,如SUM、AVG、COUNT等,用于对数据进行统计和计算。
例如:SELECT COUNT(*)FROM表名WHERE条件;这将返回满足条件的行数。
3. CREATE TABLE语句CREATE TABLE语句用于在数据库中创建新的表。
SQLServer索引——的创建、删除、何时使⽤、索引查询语句1.使⽤CREATE 语句创建索引CREATE INDEX index_name ON table_name(column_name,column_name) include(score) ---普通索引CREATE UNIQUE INDEX index_name ON table_name (column_name) ;---⾮空索引CREATE PRIMARY KEY INDEX index_name ON table_name (column_name) ;---主键索引使⽤ALTER TABLE语句创建索引alter table table_name add index index_name (column_list) ;alter table table_name add unique (column_list) ;alter table table_name add primary key (column_list) ;2.删除索引drop index index_name on table_name ;alter table table_name drop index index_name ;alter table table_name drop primary key ;3.当需要快速找出在某个列中有⼀特定值的⾏例如:有⼀张person表,其中有2W条记录,记录着2W个⼈的信息。
有⼀个Phone的字段记录每个⼈的电话号码,现在想要查询出电话号码为xxxx的⼈的信息。
如果没有索引,那么将从表中第⼀条记录⼀条条往下遍历,直到找到该条信息为;如果有了索引,那么会将该Phone字段,通过⼀定的⽅法进⾏存储,好让查询该字段上的信息时,能够快速找到对应的数据,⽽不必在遍历2W条数据了。
4.索引查询SQL Server数据库索引信息查询--sql server查看表中已存在的索引exec sp_helpindex 表名-- 查看某個表的索引SELECT * FROM sys.sysindexesWHERE id=object_id('RelactionGraph')-- 查看整個庫的索引SELECT * FROM sys.sysindexes-- 查看所有庫的索引IF object_id('tempdb..#')IS NOT NULLDROP TABLE #SELECT * INTO # FROM sys.sysindexes WHERE 1=2INSERT INTO #EXEC sys.sp_MSforeachdb @command1='Select * from ?.sys.sysindexes'SELECT * FROM #Oracle数据库索引信息查询oracle对于数据库中的表信息,存储在系统表中。
sqlserver如何使⽤sql语句创建表--使⽤masteruse mastergo--判断数据库HR是否存在if exists(select 1 from sysdatabases where name='HR')begin--如果存在则删除数据库HRdrop database HRendgo--创建数据库HRcreate database HRgo--使⽤数据库HRuse HRgo----------------------------------------------------------------------------------------在数据库HR中创建JOBS表存储公司中职位的信息--判断JOBS表是否存在if exists(select 1 from sysobjects where name='JOBS')begin--如果表存在则删除JOBS表drop table JOBSendgo--创建JOBS表create table JOBS(JOB_ID varchar(10) not null primary key,--职位编号JOB_TITLE nvarchar(20) not null, --职位名称MIN_SALARY money not null, --职位最低薪资,不⼩于1000元MAX_SALARY money not null --职位最⾼薪资,不⼩于最低薪资)go---------添加JOBS表中的约束条件-------------检查MIN_SALARY不⼩于1000元alter table JOBSadd constraint CH_MIN_SALARY check(MIN_SALARY>=1000)--检查MAX_SALARY不⼩于不⼩于最低薪资alter table JOBSadd constraint CH_MAX_SALARY check(MAX_SALARY>=MIN_SALARY)go--向表JOBS中添加测试数据insert into JOBS values(1001,'经理',1200,1300)--insert into JOBS values(1002,'经理1', 200,1300)错误,职位最低薪资⼩于1000元go--显⽰JOBS中的所有的信息select * from JOBSgo------------------------------------------------------------------------------------------------------------------------------------------------------------------------------在数据库HR中创建DEPARTMENTS表存储公司中部门的信息--判断表DEPARTMENTS是否存在if exists(select 1 from sysobjects where name='DEPARTMENTS')begin--如果存在则删除drop table DEPARTMENTSendgo--创建表DEPARTMENTScreate table DEPARTMENTS(DEPARTMENT_ID int identity(1001,1) primary key not null,--部门编号,主键,⾃增DEPARTMENT_NAME nvarchar(30) not null, --部门名称MANAGER_ID int --部门主管编号,外键,引⽤EMPLOYEES表的EMPLOYEE_ID)go--向表中添加测试数据insert into DEPARTMENTS values('管理部门',null)go--显⽰表DEPARTMENTS中的所有的信息select * from DEPARTMENTSgo------------------------------------------------------------------------------------------------------------------------------------------------------------------------------在数据库HR中创建EMPLOYEES表存储公司中职员的信息--判断表EMPLOYEES是否存在if exists(select 1 from sysobjects where name='EMPLOYEES')begin--如果EMPLOYEES表中存在则删除表drop table EMPLOYEESendgo--创建表EMPLOYEEScreate table EMPLOYEES(EMPLOYEE_ID int primary key identity(100,1) not null, --职员编号,主键,⾃增(起始值为100,每次增1)FIRST_NAME nvarchar(4) not null, --职员名称LAST_NAME nvarchar(4) not null,--职员姓⽒EMAIL varchar(25) not null,--职员邮件PHONE_NUMBER varchar(20) not null,--职员电话HIRE_DATE datetime default(getdate()),--职员⼊职时间JOB_ID varchar(10) not null,--职员职位编号,外键,引⽤JOBS表的JOB_IDSALARY money ,--职员薪资,⼤于0MANAGER_ID int ,--职员主管编号,外键,引⽤EMPLOYEES表的EMPLOYEE_IDDEPARTMENT_ID int ,--职员部门编号,外键,引⽤DEPARTMENTS表的DEPARTMENT_ID)go----------向表中添加约束条件----------------- 职员职位编号,外键,引⽤JOBS表的JOB_IDalter table EMPLOYEESadd constraint FK_JOB_ID foreign key(JOB_ID) references JOBS(JOB_ID)--职员薪资,⼤于0alter table EMPLOYEESadd constraint CH_SALARY check(SALARY>0)--职员主管编号,外键,引⽤EMPLOYEES表的EMPLOYEE_IDalter table EMPLOYEESadd constraint FK_EMPLOYEE_ID foreign key(EMPLOYEE_ID) references EMPLOYEES(EMPLOYEE_ID)-- 职员部门编号,外键,引⽤DEPARTMENTS表的DEPARTMENT_IDalter table EMPLOYEESadd constraint FK_DEPARTMENT_ID foreign key(DEPARTMENT_ID) references DEPARTMENTS(DEPARTMENT_ID) go--向表EMPLOYEES中添加测试数据insert into EMPLOYEES values('李四','李','821670983@','180123266',default,'1001',2000,100,1001)go--显⽰表EMPLOYEES中的所有的信息select * from EMPLOYEESgo---------------------------------------------------------------------------------------------------扩展练习-------------------------------------------------------------------------------------------------------------在数据库HR中,创建任职历史记录表distory--判断HR中的表distory是否存在if exists (select 1 from sysobjects where name='distory')begin--如果表存在则删除该表drop table distoryendgo--创建表distorycreate table distory(EMPLOYEE_ID int not null,--职员编号,主键START_DATE datetime not null,--开始时间,主键END_DATE datetime not null,--结束时间默认为getdate()JOB_ID varchar(10) not null,--职员职位编号,外键,引⽤JOBS表的JOB_IDDEPARTMENT_ID int --职员部门编号,外键,引⽤DEPARTMENTS表的DEPARTMENT_ID)go----------向表中添加约束条件-----------------职员编号,主键alter table distoryadd constraint PK_EMPLOYEE_ID primary key(EMPLOYEE_ID)--开始时间,主键alter table distoryadd constraint PK_START_DATE unique(START_DATE)--结束时间默认为getdate()alter table distoryadd constraint DF_END_DATE default(getdate()) for END_DATE--职员职位编号,外键,引⽤JOBS表的JOB_IDalter table distoryadd constraint FK_JOB_ID1 foreign key(JOB_ID) references JOBS(JOB_ID)--职员部门编号,外键,引⽤DEPARTMENTS表的DEPARTMENT_IDalter table distoryadd constraint FK_DEPARTMENT_ID1 foreign key(DEPARTMENT_ID) references DEPARTMENTS(DEPARTMENT_ID) go--向表distory中添加测试数据insert into distory values(100001,'2012.12.12',default,'1001',1001)insert into distory values(100002,'2015. 2. 2',default,'1001',1001)go--查询表distory中的所有的信息select * from distorygo--------------------------------------------------------------------------------------。
sql server建库建表代码
在SQL Server中,要创建数据库和表,你需要使用CREATE DATABASE和CREATE TABLE语句。
下面是一个简单的示例:
首先,创建一个数据库:
sql.
CREATE DATABASE MyDatabase;
接下来,在新创建的数据库中创建一个表:
sql.
USE MyDatabase;
CREATE TABLE Employees (。
EmployeeID INT PRIMARY KEY,。
LastName VARCHAR(50),。
FirstName VARCHAR(50),。
Title VARCHAR(100),。
HireDate DATE.
);
上面的代码首先创建了一个名为MyDatabase的数据库,然后在该数据库中创建了一个名为Employees的表,该表包含了EmployeeID、LastName、FirstName、Title和HireDate等列。
需要注意的是,以上只是一个简单的示例。
实际情况中,你可能需要根据你的实际需求来设计数据库和表的结构,并且可能需要添加索引、约束、触发器等其他元素来完善数据库设计。
另外,还需要考虑数据类型的选择、数据完整性、性能优化等方面的问题。
希望以上信息能够帮助到你。
如果你有其他关于SQL Server数据库和表创建的问题,欢迎继续提问。
sqlserver 2017 创建数据表使用步骤
在 SQL Server 2017 中,创建数据表的步骤如下:
1. 打开 SQL Server Management Studio (SSMS)。
2. 连接到 SQL Server 数据库引擎。
3. 在 "对象资源管理器" 窗口中找到你想要创建数据表的数据库,展开该数据库。
4. 右键单击 "表" 文件夹,然后选择 "新建表"。
5. 在 "新建表" 对话框中,输入数据表的名称。
6. 在 "设计" 窗口中,选择并定义数据表的列。
- 单击 "列名" 单元格,输入列的名称。
- 在 "数据类型" 列选择合适的数据类型。
- 在 "长度/值" 列中指定列的长度。
- 可以为每一列选择是否允许空值、是否自增等属性。
7. 单击 "保存" 图标,或使用 "Ctrl + S" 快捷键保存数据表的设计。
8. 关闭 "设计" 窗口,数据表会自动保存到指定的数据库中。
完成上述步骤后,你就成功地在 SQL Server 2017 中创建了一个数据表。
一、SQL Server的概述SQL Server是由微软公司开发的一款关系型数据库管理系统,广泛应用于企业信息系统中。
它提供了一套完整的数据库管理工具和语言,使得用户可以方便地进行数据管理、查询、修改和分析。
二、SQL Server常用简单语句1. 创建数据库在SQL Server中,我们可以使用CREATE DATABASE语句来创建一个新的数据库。
例如:```sqlCREATE DATABASE MyDatabase;```2. 创建表在SQL Server中,我们可以使用CREATE TABLE语句来创建一个新的表。
例如:```sqlCREATE TABLE Users (ID int PRIMARY KEY,Name varchar(50),Age int);```3. 插入数据在SQL Server中,我们可以使用INSERT INTO语句来向表中插入新的数据。
例如:```sqlINSERT INTO Users (ID, Name, Age) VALUES (1, 'John', 25);```4. 更新数据在SQL Server中,我们可以使用UPDATE语句来更新表中的数据。
例如:```sqlUPDATE Users SET Age = 26 WHERE Name = 'John';```5. 删除数据在SQL Server中,我们可以使用DELETE FROM语句来删除表中的数据。
例如:```sqlDELETE FROM Users WHERE Name = 'John';```6. 查询数据在SQL Server中,我们可以使用SELECT语句来查询表中的数据。
例如:```sqlSELECT * FROM Users;```7. 条件查询在SQL Server中,我们可以使用WHERE子句来进行条件查询。
例如:```sqlSELECT * FROM Users WHERE Age > 25;```8. 排序查询在SQL Server中,我们可以使用ORDER BY子句来对查询结果进行排序。
sqlserver常用命令SQLServer是一种关系型数据库管理系统,被广泛应用于各种企业级应用程序中。
它提供了一系列的命令,用于管理数据库、表、视图、存储过程等对象。
本文将介绍SQL Server中常用的命令及其使用方法,帮助读者快速掌握SQL Server的基本操作。
一、数据库管理命令1. 创建数据库CREATE DATABASE database_name;该命令用于创建一个新的数据库,其中database_name为要创建的数据库名称。
使用该命令时,需要确保具有足够的权限。
2. 删除数据库DROP DATABASE database_name;该命令用于删除指定的数据库,其中database_name为要删除的数据库名称。
使用该命令时,需要确保具有足够的权限,并且要谨慎操作,以免误删数据。
3. 修改数据库ALTER DATABASE database_name SET options;该命令用于修改指定的数据库,其中options为要修改的选项。
常用的选项包括修改数据库的名称、修改数据库的文件路径、修改数据库的恢复模式等。
二、表管理命令1. 创建表CREATE TABLE table_name (column_name1 data_type1, column_name2 data_type2, …);该命令用于创建一个新的表,其中table_name为要创建的表名称,column_name为要创建的列名称,data_type为要创建的列数据类型。
使用该命令时,需要确保具有足够的权限。
2. 删除表DROP TABLE table_name;该命令用于删除指定的表,其中table_name为要删除的表名称。
使用该命令时,需要确保具有足够的权限,并且要谨慎操作,以免误删数据。
3. 修改表ALTER TABLE table_name ADD column_name data_type;该命令用于向指定的表中添加一列,其中table_name为要修改的表名称,column_name为要添加的列名称,data_type为要添加的列数据类型。
SQL Server 2008数据库—创建、建表、查询语句一、创建数据库1、利用对象资源管理器创建用户数据库:(1)选择“开始”—“程序”—Microsoft SQL Server 2008—SQL Server Management Studio命令,打开SQL Server Management Studio。
(2)使用“Windows身份验证”连接到SQL Server 2008数据库实例。
(3)展开SQL Server 实例,右击“数据库”,然后人弹出的快捷菜单中选择“新建数据库存”命令,打开“新建数据库”对话框。
(4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使用全文索引、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。
输入数据库名称student。
2、利用T-SQL语句创建用户数据库:在SQL Server Management Studio中,单击标准工具栏的“新建查询”按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击“执行”按钮。
SQL编辑器就提交用户输入的T-SQL语句,然后发送到服务器执行,并返回执行结果。
创建数据库student的T-SQL语句如下:Create data base studentOn primary(name=student_data,filename='E:\SQL Server2008 SQLFULL_CHS\student_data.mdf',size=3,maxsize=unlimited,filegrowth=1)Log on(name=student_log,filename='E:\SQL Server2008 SQLFULL_CHS\student_log.ldf',size=1,maxsize=20,filegrowth=10%)二、创建数据表1、利用表设计器创建数据表:(1)启动SQL Server Management Studio,连接到SQL Server 2008数据库实例。
标题:SQL Server建表语句带中文注释一、引言在SQL Server数据库中,建表语句是非常重要的,它决定了数据库中表的结构和属性。
建表语句的编写需要遵循一定的规范和标准,同时也需要适当的注释来方便其他人阅读和理解。
本文将介绍如何使用SQL Server建表语句,并给出带中文注释的示例。
二、SQL Server建表语句的基本语法SQL Server建表语句的基本语法如下:```sqlCREATE TABLE 表名(列名1 数据类型1,列名2 数据类型2,...列名N 数据类型N);```在上面的语法中,CREATE TABLE是创建表的关键字,后面跟着表的名称。
括号中包含了表的列名和数据类型。
在每一行中,列名和数据类型之间使用空格分隔,不同的列之间使用逗号分隔。
三、示例:使用SQL Server建表语句创建学生表下面我们将以学生表为例,展示如何使用SQL Server建表语句,并在注释中说明每个字段的含义。
```sql-- 创建学生表CREATE TABLE 学生(学号 VARCHAR(10), -- 学号尊称 NVARCHAR(20), -- 尊称性别 NVARCHAR(2), -- 性别生日 DATE, -- 生日入学年份 INT -- 入学年份);```在上面的示例中,我们使用CREATE TABLE语句创建了一个名为“学生”的表。
表中包含了5个字段,分别是学号、尊称、性别、生日和入学年份。
每个字段后面的注释说明了该字段的含义,方便其他人阅读和理解表结构。
四、SQL Server建表语句的注意事项在使用SQL Server建表语句时,需要注意以下几点:1. 数据类型的选择:根据实际需求选择合适的数据类型,例如VARCHAR、NVARCHAR、INT、DATE等。
2. 主键和外键:如果需要设置主键和外键,需要在建表语句中加入相应的约束。
3. 索引:根据查询需求,为表中的字段添加索引以提高查询效率。
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、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。
三、先创建数据库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 SQLServer\MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak/*数据库备份文件*/' with name='3D-DATA_backup_20131017'/*数据库备份文件*/查看备份数据库的逻辑文件:restore filelistonlyfrom 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 SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Backup\3D-DATA_backup_20131017.bak'withmove'3D-FEP_data'to'D:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d.mdf',move'3D-FEP_log'to'D:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d_log.ldf',stats= 10/* 表示每完成10%显示一条记录*/,replace/*表示强制,放置在with后,加英文逗号也可*/以下为另一种方式:-备份数据DB 到.bak文件。
然后利用此bak文件恢复一个新的数据库DBTest。
USE master;backup database DBto disk = 'g:\DBBack0930.bak' ;restore filelistonlyform 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@) 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 masterif db_id('Test-a01')is not null--判断数据库,是否已存在drop database[Test-a01]--删除数据库gocreate database[Test-a01]on primary(name='Test-a01_data', --数据文件的逻辑名称filename='D:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-a01_data.ndf', --数据文件的路径和文件名size= 3mb,--数据文件的初始容量maxsize= 10mB--数据文件的最大容量)log on(name='Test-a01_log', --事务日志文件的逻辑名称filename='D:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-a01_log.ndf', --事务日志文件的路径和文件名size= 3mb, --事务日志文件的初始容量maxsize= 10mB--事务日志文件的最大容量)Gouse[xxxxx]/*指定创建表的数据库*/gocreate 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'%@%'))gouse[xxxxx]gocreate 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)asselect stuid,stuname,stusex,stuage from student where stuage>=25;其中,红色部分的字段列,必须相同。
如下例2,则不用考虑(比较常用).create view view_name02asselect 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 NULLUNIQUECHECK主键(Primary Key)外来键(Foreign Key)1、NOT NULL表示某字段的值,不允许出现空值。